Ya hemos repasado una introducción a las funciones de cadenas en nuestro tutorial Funciones de cadenas y subcadenas de VBA. Ahora veremos cómo concatenar cadenas de texto.
Concatenar cadenas
Puede usar el operador & en VBA para unir cadenas de texto.
1 | MsgBox "Combinar" y "Texto" |
Concatenar celdas
También puede concatenar celdas juntas. A continuación, tenemos las cadenas de texto en A1 y B1:
El siguiente código le muestra cómo unir cadenas de texto de la celda A1 y B1 usando el operador &, en la celda C1:
1 | Rango ("C1"). Valor = Rango ("A1"). Valor y rango ("B1"). Valor |
El resultado es:
Concatenar variables
Este es el procedimiento completo para concatenar dos celdas juntas usando variables de cadena.
1234567891011 | Sub ConcatenateStrings ()Dim StringOne como StringDim StringTwo como cadenaStringOne = Rango ("A1"). ValorStringTwo = Rango ("B1"). ValorRango ("C1"). Valor = StringOne & StringTwoEnd Sub |
Usar el operador & con espacios
Cuando desee incluir espacios, utilice & junto con ”“. El siguiente código le muestra cómo incluiría espacios:
123456789101112 | Sub ConcatenatingStringsWithSpaces ()Dim StringOne como cadenaDim String Dos como cadenaDim StringThree como cadenaStringOne = "Esto es"StringTwo = "el texto"StringThree = StringOne & "" & StringTwoMsgBox StringThreeEnd Sub |
El resultado de MessageBox es:
Uso del operador & para concatenar una comilla
Supongamos que su cadena de texto contiene una comilla, el siguiente código le muestra cómo incluir una comilla dentro de una cadena de texto:
12345678910111213 | Sub ConcatenatingAQuotationMark ()Dim StringOne como cadenaDim String Dos como cadenaDim StringThree como cadenaStringOne = "Esta es la comilla"StringTwo = "" ""StringThree = StringOne & "" & StringTwoMsgBox StringThreeEnd Sub |
El resultado es:
Poner cadenas en una nueva línea
Supongamos que tiene cinco cadenas de texto, puede poner cada cadena de texto en una nueva línea o párrafo, utilizando la función vbNewLine, vbCrLf, vbCr o Chr. El siguiente código le muestra cómo poner cada cadena de texto en una nueva línea:
123456789101112131415161718 | Sub PuttingEachTextStringOnANewLine ()Dim StringOne como cadenaDim String Dos como cadenaDim StringThree como cadenaDim String Cuatro como cadenaDim StringFive como cadenaStringOne = "Esta es la primera cadena"StringTwo = "Esta es la segunda cadena"StringThree = "Esta es la tercera cadena"StringFour = "Esta es la cuarta cadena"StringFive = "Esta es la quinta cadena"MsgBox StringOne & vbNewLine & StringTwo & vbCrLf & StringThree & vbCr & StringFour & Chr (13) y StringFiveEnd Sub |
El resultado es: