【发布时间】:2018-06-07 12:17:02
【问题描述】:
几天以来我一直在尝试一些东西,但我真的很迷茫。有人可以帮我解决一下吗。
我想将 Excel 中的列从第一列连接到最后一个非空列,并在每列之间添加一个逗号。
之后,我想将循环从第一行应用到最后一个非空行。
我用已知的列数成功地做到了(我在后面添加代码),但当列数未知时却没有。
Range("H2").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(RC[-7],"","",RC[-6],"","",RC[-5],"","",RC[-4],"","",RC[-3],"","",RC[-2])"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & Range("A2").End(xlDown).Row), Type:=xlFillDefault
【问题讨论】:
-
哪个版本的 Excel?
-
如果您拥有 Office 2016,请使用
TEXTJOIN。如果您想用逗号分隔符连接 A 列中的每个填充单元格,您可以使用:=TEXTJOIN(",",TRUE,A:A) -
感谢您的回复。我正在使用 Excel 2013。我尝试做的是将 A2、B2、C2、... 连接到最后一个非空列。
标签: vba excel concatenation