如何在 VBA 中连接字符串?
问题描述:
此问题来自 VBA 中 Range.Formula= 下的评论抛出一个奇怪的错误.
This question comes from a comment under Range.Formula= in VBA throws a strange error.
我通过反复试验编写了那个程序,所以我很自然地尝试了 +
来连接字符串.
I wrote that program by trial-and-error so I naturally tried +
to concatenate strings.
但是 &
是否比 +
更适合连接字符串?
But is &
more correct than +
for concatenating strings?
答
&
总是 在字符串上下文中求值,而 +
如果操作数之一不是字符串,则可能不会连接:
&
is always evaluated in a string context, while +
may not concatenate if one of the operands is no string:
"1" + "2" => "12"
"1" + 2 => 3
1 + "2" => 3
"a" + 2 => type mismatch
这只是潜在错误的一个微妙来源,因此应该避免.&
always 表示字符串连接",即使它的参数是非字符串:
This is simply a subtle source of potential bugs and therefore should be avoided. &
always means "string concatenation", even if its arguments are non-strings:
"1" & "2" => "12"
"1" & 2 => "12"
1 & "2" => "12"
1 & 2 => "12"
"a" & 2 => "a2"