我曾与各种值工作表中只有一个像柱:复制行到一个单元格VBA
A
B
C
D
E
F
...
我需要写一个简单的代码,将在一个细胞把这一切在一起(例如D2)和细胞我想有一个值:
A;B;C;D;E;F;...
我认为这是很容易的,但我病得想想,你会帮忙吗? :(
我曾与各种值工作表中只有一个像柱:复制行到一个单元格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 & ";"
希望这可以帮助最好的问候,
如果你哈d一派,你可能会在this link绊倒,这是使用Excel公式做的相当时髦的方式..
=CONCATENATE(TRANSPOSE(A1:A6 & ";"))
你只需要确保执行TRANSPOSE
功能使用F9
之前。
但是,您总是可以使用VBA用户定义函数来完成它。
一个非常好的技巧!值得回忆。 –
到目前为止,你有尝试过什么吗?你想要基于Excel的解决方案还是基于VBA?您是否在[网站](http://stackoverflow.com/q/11678370/1389394)中搜索类似的解决方案?你在本页右下角看到**相关的问题吗? – bonCodigo
Excel解决方案很简单,我使用它很长一段时间,但现在我无法使用它(列表正在更改)并需要升级我的代码。我试图通过SQL基础来编写它,但我觉得它绝对没用。我只写了'recordNumber = Cells.Find(What:=“*”,SearchDirection:= xlPrevious,SearchOrder:= xlByRows).Row' – Michal