¿cómo utilizar vba para concatenar cadenas?

Para concatenar dos cadenas usando código VBA, debe usar el signo comercial. Puede utilizar un signo comercial entre dos cadenas para combinarlas y luego asignar este nuevo valor a una celda, variable o cuadro de mensaje. De manera similar, también puedes concatenar más de dos valores.

Más adelante veremos un ejemplo sencillo para entenderlo.

Pasos para usar VBA para concatenar

  1. Primero ingrese la primera cadena usando comillas dobles.
  2. Después de eso, escriba un signo comercial.
  3. A continuación, ingrese el segundo texto usando comillas dobles.
  4. Al final, asigne este valor a una celda o variable, o use un cuadro de mensaje para verlo.
 Sub vba_concatenate() Range("A1") = "Mike" & "Ross" End Sub

Concatenar con un delimitador

También puedes usar un delimitador entre dos cadenas simplemente agregando un tercer signo. Considere el siguiente código.

 Range("A1") = "Mike" & "-" & "Ross"

En el código anterior, usó un delimitador en dos cadenas y las unió usando solo símbolos. Básicamente, siempre que necesites encerrar algo, debes usar un signo comercial dentro de él.

Concatenar usando variables

También puedes almacenar valores en variables y luego concatenar los valores de estas dos variables. Considere el siguiente código.

En el código anterior tienes variables declaradas como variables y luego has asignado valores a estas variables. Y al final, usamos un signo comercial para combinar las tres variables y luego asignamos el resultado a la celda A1.

Concatenar un rango usando VBA

También puedes concatenar valores de un rango de celdas usando VBA. Considere la siguiente macro.

 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("A1:A10") For Each rng In SourceRange i = i & rng & " " Next rng Range("B1").Value = Trim(i) End Sub

En el código anterior, utilizó FOR NEXT (For Loops) para recorrer el rango que desea concatenar.

Entonces va a cada celda en el rango (A1:A10), almacena ese valor en la variable I y usa un signo comercial para concatenar un valor en cada iteración. Al final, configure el canal combinado en el rango B1.

Y el siguiente código concatena los valores del rango seleccionado. Todo lo que necesitas hacer es seleccionar un rango y luego ejecutar el código.

 Dim rng As Range Dim i As String For Each rng In Selection i = i & rng & " " Next rng Range("B1").Value = Trim(i)

Concatenar una columna o fila completa

Si desea concatenar una columna o fila completa, en ese caso es mejor no utilizar el método de bucle. Puede utilizar la función de hoja de trabajo «TextJoin» que puede unir una fila o columna completa (considere el siguiente código).

 'join values from column A. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("A:A")) 'join values from row 1. Dim myRange As Range Dim myString As String Range("B1") = WorksheetFunction.TextJoin(" ", True, Range("1:1"))

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *