Concat Excel列单元格string每行用逗号

我有一个列的Excel文件。 我一直在尝试合并列,并保持单元格string用逗号分隔。

在这里输入图像说明

所以,我想要一个带有每行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 

大部分的工作表函数都可以在VBA中使用:

 Application.WorksheetFunction.Sum(1, 2) 

但是,一些工作表函数不能在VBA中使用,不幸的是CONCATENATE就是其中之一。

&是在VBA中用来连接string的运算符。


下面的代码应该适合你:

 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