Hoy vamos a ver cómo concatenar cadenas usando VBA en Microsoft Excel.
Empezaremos viendo las sintaxis para las diferentes situaciones que nos podemos encontrar.
1) Concatenar cadenas de texto.
Si lo que queremos es concatenar dos o más cadenas de texto, usaremos la siguiente sintaxis,
Texto = "Texto1" & "Texto2" & ...
2) Concatenar el contenido de celdas.
Si lo que queremos es concatenar el contenido de dos o más celdas, y representarlo en otra, usaremos la siguiente sintaxis,
Range("celdadestino") = Range("celda1") & Range("celda2") & ...
3) Concatenar el contenido de variables.
Si lo que queremos es concatenar el contenido de dos o más variables, y guardarlo en una nueva variable, usaremos la siguiente sintaxis,
Range("celdadestino") = Range("celda1") & Range("celda2") & ...
4) Mostrar una concatenación en un msgbox.
Si queremos mostrar el resultado de una concatenación en un msgbox, usaremos las sintaxis anteriores precedidas por la función msgbox. Por ejemplo,
msgbox cadena1 & cadena2
Para mostrar el resultado en varias filas dentro del mismo msgbox, usaremos la siguiente sintaxis,
msgbox cadena1 & vbNewLine & cadena2 & vbNewLine...
He creado un ejemplo cortito para que veáis cómo ponerlo en práctica. Se trata de una tabla con nombres y apellidos en campos distintos que, usando un bucle y lo visto anteriormente, unificaremos en una sola columna.
También una concatenación de texto mostrando el resultado tanto en una celda como en un msgbox.
A continuación os muestro el código de los tres botones,
Sub Cadenasceldas()
'Concatenamos nombres y apellidos de la tabla y mostramos el resultado en la columna D
For i = 3 To 7
Cells(i, "D") = Cells(i, "B") & " " & Cells(i, "C")
Next
End Sub
Sub Cadenastexto()
'Concatenamos las cadenas 1 y 2 y mostramos el resultado en la columna D
cadena1 = Cells(12, "B")
cadena2 = Cells(12, "C")
cadena = cadena1 & " " & cadena2
Cells(12, "D") = cadena
End Sub
Sub Cadenastextomsgbox()
'Concatenamos las cadenas 1 y 2 y mostramos el resultado en msgbox
cadena1 = Cells(12, "B")
cadena2 = Cells(12, "C")
MsgBox cadena1 & " " & cadena2
End Sub
Al pulsar el primer botón, obtendremos una columna con nombres y apellidos unificados,
Al pulsar el segundo botón, obtendremos la unión de las cadenas 1 y 2 en la columna cadena,
Al pulsar el tercer botón, obtendremos la unión de las cadenas 1 y 2 en un msgbox,
Espero que este post te haya servido para aprender a concatenar cadenas en Microsoft Excel usando VBA. Descárgate el archivo de ejemplo y practica.
Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.
Hasta la próxima.
Si te ha servido y quieres donar
Descarga el archivo del ejemplo
Últimas publicaciones
0 comentarios