在Excel中的单元格中的数据之间插入分号

时间:2012-11-23 07:44:03

标签: excel vba string

我在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”&我和我“&安培;” &安培; Chr(34)& “;” &安培; Chr(34)& “& C”&我和我“&安培;” &安培; Chr(34)& “;” &安培; Chr(34)& “& E”&我和我“&安培;” &安培; Chr(34)& “;” &安培; Chr(34)& “& G”&一世     范围(“I”& i).Value = mystring

2 个答案:

答案 0 :(得分:4)

您应该使用"&"";"""

详细地说,你应该使用像

这样的东西
"=A" & i & "&"";""" & "&C" & i

导致

=A1&";"&C1

假设i = 1

答案 1 :(得分:0)

=CONCATENATE(A1, ";", C1, ";", E1, ";", G1)

使用VBA

Range("A2").FORMULA = REPLACE("=CONCATENATE(A1, ';', C1, ';', E1, ';', G1)", "'", CHR(34))