Подтвердить что ты не робот

Как конкатенировать строки в VBA

Этот вопрос исходит из комментария к Range.Formula = в VBA вызывает странную ошибку.

Я написал эту программу методом проб и ошибок, поэтому я, естественно, попробовал + объединить строки. Но & а не + более правильный метод для конкатенации строк?

4b9b3361

Ответ 1

& всегда оценивается в контексте строки, а + может не конкатенироваться, если один из операндов не содержит строки:

"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"

Ответ 2

Существует функция конкатенации. Например

=CONCATENATE(E2,"-",F2)
Но оператор и оператор всегда объединяет строки. + часто будет работать, но если в одной из ячеек есть номер, он не будет работать так, как ожидалось.

Ответ 3

excel имеет функцию Concatenate()...