0

我需要有关 vba 连接单元格的帮助。

我有一个电子表格:A 列包含一些值,例如 Product A 代表几行,Product B 代表几行,等等。我想连接,比如产品 A 的 BJ 列中的单元格,将值写入 K 列或其他工作表,然后对产品 B 执行相同的操作,依此类推,直到电子表格结束。

我认为这需要一些我正在学习的 vba 编码,但还不能很好地完成这项工作。请帮忙!

谢谢你,cj

4

2 回答 2

1

我阅读它是因为您希望将单列中的所有内容放入另一个单元格中。这是一个例程,它将从您指定的单元格中获取所有数据,并将所有内容连接起来,直到数据中断

Option Explicit

Function ColConc(CellRef As Range, Delimiter As String)

Dim LoopVar As Long
Dim StartRow As Long
Dim EndRow As Long
Dim Concat As String
Dim Col As Long

Col = CellRef.column
StartRow = CellRef.Row
EndRow = CellRef.End(xlDown).Row

Concat = ""

For LoopVar = StartRow To EndRow
    Concat = Concat & Cells(LoopVar, Col).Value
    If LoopVar <> EndRow Then Concat = Concat & Delimiter
Next LoopVar

ColConc = Concat
End Function

使用公式调用=ColConc(A2," "),这将获取从单元格 A2 到该列末尾的所有内容,并以空格作为分隔符。
分隔符可以是任何字符串,因此您可以在数据之间放置任何内容。空白单元格结束用于连接成单个字符串的数据。
它仅适用于当前工作表 - 需要更多编码才能使该部分正常工作

于 2012-05-25T20:10:44.823 回答
1

我认为这需要一些 vba 编码

不,你不需要 vba :)

把这个公式放到K1里面拖下来

=B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1&" "&H1&" "&I1&" "&J1

这将连接数据SPACE作为分隔符。如果您不想要空间,则将上述公式修改为

=B1&C1&D1&E1&F1&G1&H1&I1&J1

同样,如果您想连接 withCOMMA作为分隔符,请使用此

=B1&", "&C1&", "&D1&", "&E1&", "&F1&", "&G1&", "&H1&", "&I1&", "&J1

等等...

于 2012-05-25T13:19:42.910 回答