每行用逗号连接 Excel 列单元格字符串
Concat Excel Column Cell Strings per row with comma
我有一个包含一些列的 excel 文件。我一直在尝试合并列并用逗号分隔单元格字符串。
所以,我想要一个新的 table,每行包含 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 中用于连接字符串的运算符。
下面的代码应该适合你:
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
我有一个包含一些列的 excel 文件。我一直在尝试合并列并用逗号分隔单元格字符串。
所以,我想要一个新的 table,每行包含 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 中用于连接字符串的运算符。
下面的代码应该适合你:
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