将行复制到一个单元格中 VBA
Copying rows into one cell VBA
我有一个工作表,其中只有一列有各种值,例如:
A
B
C
D
E
F
...
我需要编写一个简单的代码,将所有内容放在 一个 单元格(例如 D2)中,我希望该单元格具有一个值:
A;B;C;D;E;F;...
在一个简单的表格中,以下 VBA 宏可以完成这项工作(假设您在 Excel 工作表的 A 列中有您想要连接的值,并将结果放在单元格 D2 中) :
Sub ConcatenateCells()
Dim i As Integer
Dim count As Integer
Dim s As String
count = Cells(Rows.count, "A").End(xlUp).Row
For i = 1 To count
s = s & Cells(i, 1) & ";"
Next
Range("D2") = s
End Sub
您可以根据自己的目的对其进行修改。此外,您可以通过添加条件来排除空单元格:
If Cells(i, 1).Value <> "" Then s = s & Cells(i, 1).Value & ";"
希望这可能有所帮助。最好的问候,
如果您用 Google 搜索过,您可能会偶然发现 this link,这是一种使用 Excel 公式的非常时髦的方法。
=CONCATENATE(TRANSPOSE(A1:A6 & ";"))
您只需要确保 TRANSPOSE
函数是使用 F9
执行的。
不过,您也可以随时使用 VBA 用户定义函数来完成它。
我有一个工作表,其中只有一列有各种值,例如:
A
B
C
D
E
F
...
我需要编写一个简单的代码,将所有内容放在 一个 单元格(例如 D2)中,我希望该单元格具有一个值:
A;B;C;D;E;F;...
在一个简单的表格中,以下 VBA 宏可以完成这项工作(假设您在 Excel 工作表的 A 列中有您想要连接的值,并将结果放在单元格 D2 中) :
Sub ConcatenateCells()
Dim i As Integer
Dim count As Integer
Dim s As String
count = Cells(Rows.count, "A").End(xlUp).Row
For i = 1 To count
s = s & Cells(i, 1) & ";"
Next
Range("D2") = s
End Sub
您可以根据自己的目的对其进行修改。此外,您可以通过添加条件来排除空单元格:
If Cells(i, 1).Value <> "" Then s = s & Cells(i, 1).Value & ";"
希望这可能有所帮助。最好的问候,
如果您用 Google 搜索过,您可能会偶然发现 this link,这是一种使用 Excel 公式的非常时髦的方法。
=CONCATENATE(TRANSPOSE(A1:A6 & ";"))
您只需要确保 TRANSPOSE
函数是使用 F9
执行的。
不过,您也可以随时使用 VBA 用户定义函数来完成它。