Как я могу объединить строки в VBA?
этот вопрос исходит из комментария под
3 ответов
&
и всегда оценивается в контексте строки, в то время как +
не может объединяться, если один из операндов не является строкой:
"1" + "2" => "12"
"1" + 2 => 3
1 + "2" => 3
"a" + 2 => type mismatch
Это просто тонкий источник потенциальных ошибок и, следовательно, следует избегать. &
всегда означает "конкатенация строк", даже если ее аргументы не являются строками:
"1" & "2" => "12"
"1" & 2 => "12"
1 & "2" => "12"
1 & 2 => "12"
"a" & 2 => "a2"
существует функция concatenate.
=CONCATENATE(E2,"-",F2)но оператор всегда сцепляет строки. + часто будет работать, но если в одной из ячеек есть число, оно не будет работать так, как ожидалось.
главное (очень интересное) отличие для меня в том, что:"string" & Null
->"string"
в то время как"string" + Null
->Null
но это, вероятно, более полезно в приложениях базы данных, таких как Access.