Esta pregunta proviene de un comentario en Range.Formula = en VBA arroja un error extraño .
Escribí ese progtwig por prueba y error, así que naturalmente intenté +
concatenar cadenas.
¿Pero es &
más correcto que +
para concatenar cadenas?
&
siempre se evalúa en un contexto de cadena, mientras que +
puede no concatenarse si uno de los operandos no es una cadena:
"1" + "2" => "12" "1" + 2 => 3 1 + "2" => 3 "a" + 2 => type mismatch
Esta es simplemente una fuente sutil de posibles errores y, por lo tanto, debe evitarse. &
siempre significa “concatenación de cadena”, incluso si sus argumentos no son cadenas:
"1" & "2" => "12" "1" & 2 => "12" 1 & "2" => "12" 1 & 2 => "12" "a" & 2 => "a2"
Existe la función de concatenación. Por ejemplo
= CONCATENATO (E2, "-", F2)
Pero el operador & siempre concatena cadenas. + a menudo funcionará, pero si hay un número en una de las celdas, no funcionará como se esperaba.
La principal (muy interesante) diferencia para mí es que:
"string" & Null
-> "string"
mientras
"string" + Null
-> Null
Pero eso probablemente sea más útil en aplicaciones de bases de datos como Access.