我有一些包含一些列的excel文件。我一直在尝试合并列,并用逗号分隔单元格字符串。
所以,我想要一个新表,每行包含concat结果:
=CONCATENATE(A2,",",B2,",",C2,",",D2)
=CONCATENATE(A3,",",B3,",",C3,",",D3)
=CONCATENATE(A4,",",B4,",",C4,",",D4)
我尝试使用VBA但没有成功:
Sub sisk()
Dim sisk As String
For i = 2 To 4
sisk = CONCATENATE(Range(Cells(1, i).Value), Cells(1, 4).Value)
Next i
Worksheets("Sheet1").Cells(1, 6) = sisk
End Sub
答案 0 :(得分:2)
大多数工作表函数都可以在VBA中使用:
Application.WorksheetFunction.Sum(1, 2)
但是,某些工作表函数无法在VBA中使用,不幸的是CONCATENATE
就是其中之一。
&
是VBA中用于连接字符串的运算符。
以下代码适合您:
Sub sisk()
Dim sisk As String
Dim row As Long
Dim col As Long
For row = 2 To 4
sisk = vbNullString
For col = 1 To 4
If VBA.Len(sisk) Then sisk = sisk & ","
sisk = sisk & Cells(row, col)
Next col
Worksheets("Sheet1").Cells(row, 6) = sisk
Next row
End Sub