如何连接VBA中的string
这个问题来自于对Range.Formula =的评论, 在VBA中引发了一个奇怪的错误 。
我通过反复试验的方法编写了这个程序,所以我自然而然地尝试了+
连接string。 但是&
而不是+
更正确的方法串联string?
&
始终在string上下文中进行评估,而如果其中一个操作数不是string,则+
可能不会连接:
"1" + "2" => "12" "1" + 2 => 3 1 + "2" => 3 "a" + 2 => type mismatch
这只是潜在错误的一个微妙的来源,因此应该避免。 &
始终意味着“string连接”,即使它的参数是非string:
"1" & "2" => "12" "1" & 2 => "12" 1 & "2" => "12" 1 & 2 => "12" "a" & 2 => "a2"
有连接function。 例如
= CONCATENATE(E2, “ - ”,F2)
但是&运算符总是连接string。 +通常会起作用,但是如果其中一个单元格中有一个数字,它将无法按预期工作。
Excel有一个Concatenate()函数…