La concatenación significa unir dos valores o dos cadenas juntas, similar a Excel que usamos & o también conocido como operador ampersand para concatenar, dos concatenan dos cadenas que usamos operador & como String 1 y String 2, ahora hay una cosa importante para recordar y eso Mientras usamos el operador &, necesitamos proporcionar espacios o VBA lo considerará tan largo.
VBA Concatenar cadenas
VBA Concatenate es una de esas cosas que usamos para combinar dos o más valores de celda de valor juntos. Si digo en un lenguaje sencillo que se está combinando, se están uniendo dos o más valores para tener un valor total.
Tenemos una función llamada CONCATENAR en Excel, que hará la combinación de dos o más valores o dos o más valores de celda juntos.
Pero en VBA, no tenemos ninguna función incorporada para concatenar dos o más valores juntos. De hecho, ni siquiera podemos acceder a la clase de función de la hoja de trabajo para acceder a la función VBA CONCATENAR como función de la hoja de trabajo.

¿Cómo concatenar cadenas en VBA?
Si no tenemos ningún tipo de función incorporada para concatenar valores e incluso la función de la hoja de trabajo no está integrada con VBA. Ahora el desafío es, ¿cómo combinamos valores?
Aunque no hay funciones integradas, aún podemos combinar en VBA usando el símbolo "ampersand" (&).
Si sigue nuestras publicaciones con regularidad, a menudo usamos el símbolo comercial (&) en nuestra codificación.
Por ejemplo, si tiene el nombre y el apellido por separado, podemos combinar estos dos y convertirlo en un nombre completo. Siga los pasos a continuación para escribir el código de macro VBA por nuestra cuenta.
Paso 1: Vaya al Editor de Visual Basic y cree un subprocedimiento de VBA.
Paso 2: Defina tres variables como Cadena .
Código:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub
Paso 3: Ahora asigne el nombre y apellido a la variable.
Código:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub
Paso 4: Ahora combine estos dos nombres con la variable Full_Name usando la variable ampersand.
Código:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub
Paso 5: Ahora muestre el valor de la variable Full_Name en el cuadro de mensaje.
Código:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub
Ahora ejecute el código; Obtendremos el nombre completo en el cuadro de mensaje.

El problema con este nombre completo es que no hemos agregado un espacio de caracteres separadores de nombre y apellido, mientras que combinamos el nombre y el apellido, también combinamos el carácter de espacio.
Código:
Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub
Esto le dará un nombre completo adecuado ahora.

Así, usando el símbolo ampersand, podemos concatenar valores. Ahora resolveremos el problema de la hoja de trabajo de resolver el nombre y el apellido juntos para convertirlo en un nombre completo.

Dado que necesitamos combinar muchos nombres, necesitamos usar bucles para combinar el nombre y el apellido. El siguiente código hará el trabajo por usted.
Código:
Sub Concatenate_Example1 () Dim i As Integer For i = 2 to 9 Cells (i, 3) .Value = Cells (i, 1) & "" & Cells (i, 2) Next i End Sub
Esto combinará el nombre y el apellido, al igual que nuestra función de concatenación de VBA.

Error común en la concatenación de ampersand VBA
Si observa mis códigos, agregué un carácter de espacio entre los valores y un símbolo comercial. Esto es esencial debido a la naturaleza de la programación VBA.
No podemos combinar valores y símbolos comerciales juntos; de lo contrario, obtendremos un error de compilación como el siguiente.

Concatenar VBA usando la función JOIN
En VBA, podemos usar la función JOIN para combinar valores. Primero, observe la sintaxis de la función VBA JOIN.

- La matriz no es más que una matriz que contiene nuestros valores, por ejemplo, tanto el nombre como el apellido.
- El delimitador no es más que el separador entre cada valor de matriz, en este caso, el carácter de espacio.
El siguiente código mostrará el ejemplo del mismo.
Código:
Sub Concatenate_Example2 () Dim MyValues como variante Dim Full_Name como cadena MyValues = Array ("Sachin", "Tendulkar") Full_Name = Join (MyValues, "") MsgBox Full_Name End Sub