如何在VBA中连接字符串?

ily*_* n. 63 excel vba excel-vba

这个问题来自Range.Formula =在VBA下的注释引发了一个奇怪的错误.

我通过反复试验编写了该程序,所以我自然会尝试+连接字符串.

但是&+连接字符串更正确吗?

Joe*_*oey 123

&始终在一个字符串上下文中计算,而+可能无法串联,如果一个操作数是没有字符串:

"1" + "2" => "12"
"1" + 2   => 3
1 + "2"   => 3
"a" + 2   => type mismatch
Run Code Online (Sandbox Code Playgroud)

这只是潜在错误的一个微妙来源,因此应该避免.& 总是意味着"字符串连接",即使它的参数是非字符串:

"1" & "2" => "12"
"1" &  2  => "12"
 1  & "2" => "12"
 1  &  2  => "12"
"a" &  2  => "a2"
Run Code Online (Sandbox Code Playgroud)

  • @adjit:是的,会的.顺便说一句,你可以轻松测试. (4认同)

Pat*_*rez 5

对我来说主要(非常有趣)的区别是:
"string" & Null-> "string"
while
"string" + Null->Null

但这在 Access 等数据库应用程序中可能更有用。