1

我在 A、C、E 和 G 列中有数据。我希望 I 列保存这些数据中的所有数据,用分号分隔,我在网上搜索过,但我发现的只是如何用分号替换换行符,而这并不不要这样做。以下是我尝试使用的 3 段代码

Range("I" & i).Value = "=A" & i & Chr(59) & "&" & "C" & i & "&" & "E" & i & "&" & "G" & i
Range("I" & i).Value = "=A" & i & "&C" & i & "&E" & i & "&G" & i
Range("I" & i).Value = Range("A" & i).Value + ; + Range("C" & i).Value + ; + Range("E" & i).Value + ; + Range("G" & i).Value

第二行最接近我想要的但是当我添加 & ";" 进入它我得到错误。

任何想法都非常感谢

已解决:这已通过下面的答案解决,我已经管理了自己的修复程序,我将详细说明,但接受的答案是一种更清洁、更有效的方法

mystring = "=A" & i & "&" & Chr(34) & ";" & Chr(34) & "& C" ​​& i & "&" & Chr(34) & ";" & Chr(34) & "& E" & i & "&" & Chr(34) & ";" & Chr(34) & "& G" & i Range("I" & i).Value = mystring

4

2 回答 2

4

你应该使用"&"";""".

详细地说,你应该使用类似的东西

"=A" & i & "&"";""" & "&C" & i

这导致

=A1&";"&C1

假设i = 1

于 2012-11-23T08:49:32.320 回答
0
=CONCATENATE(A1, ";", C1, ";", E1, ";", G1)

使用 VBA

Range("A2").FORMULA = REPLACE("=CONCATENATE(A1, ';', C1, ';', E1, ';', G1)", "'", CHR(34))
于 2012-11-23T09:25:14.780 回答