将行复制到一个单元格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之前执行TRANSPOSEfunction。

但是,您总是可以使用VBA用户定义函数来完成它。