Reputation: 18826
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?
Upvotes: 88
Views: 436795
Reputation: 25272
The main (very interesting) difference for me is that:
"string" & Null
-> "string"
while
"string" + Null
-> Null
But that's probably more useful in database apps like Access.
Upvotes: 5
Reputation: 354864
&
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
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"
Upvotes: 177
Reputation: 57804
There is the concatenate function. For example
=CONCATENATE(E2,"-",F2)But the & operator always concatenates strings. + often will work, but if there is a number in one of the cells, it won't work as expected.
Upvotes: 2