Concat Excel列单元格字符串每行使用逗号

时间:2015-08-12 09:47:11

标签: excel vba merge concat

我有一些包含一些列的excel文件。我一直在尝试合并列,并用逗号分隔单元格字符串。

enter image description here

所以,我想要一个新表,每行包含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

1 个答案:

答案 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