将行复制到一个单元格VBA
我有一个只有一列的工作表中的各种值,如:
A B C D E F ...
我需要写一个简单的代码,将所有这一切放在一个单元格(例如D2),而我希望有一个值的单元格:
A;B;C;D;E;F;...
我觉得这很容易,但是我很难想象,你会帮忙吗? 🙁
在一个简单的表单中,下面的VBAmacros可以完成这个工作(假设您在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了,你可能会偶然发现这个链接 ,这是使用Excel公式的方法。
=CONCATENATE(TRANSPOSE(A1:A6 & ";"))
您只需确保使用F9
之前执行TRANSPOSE
function。
但是,您总是可以使用VBA用户定义函数来完成它。