Cómo utilizar Concatenar en Excel VBA (4 métodos)

  • Compartir Este
Hugh West

En Excel, la concatenación es el proceso de unir dos cadenas para formar una sola. En pocas palabras, si tenemos una tabla con nombres en una columna y apellidos en otra, podemos utilizar el procedimiento de concatenación para concatenarlos y combinarlos en una sola celda en una fracción de segundo. En Excel, tenemos una función llamada CONCATENAR () que nos permite realizar esta concatenación. Sin embargo, en VBA este tipo de función no está permitida. No podemos utilizar CONCATENAR () en el código VBA ya que no funcionará. Porque VBA carece de funciones incorporadas y no podemos utilizar funciones de hoja de cálculo. Por lo tanto, esta lección le demostrará cómo utilizar VBA concatenar para combinar varias celdas, columnas y filas en Excel.

Descargar el cuaderno de prácticas

Descárgate este cuaderno de prácticas para ejercitarte mientras lees este artículo.

VBA Función Concatenar.xlsm

Introducción a la función concatenar de VBA

Como hemos mencionado que Excel no tiene ninguna función incorporada para el VBA Concatenar, pero podemos hacer que funcione como una función mediante la combinación de diferentes cadenas con los operadores. Aquí usamos el ampersand (&) como nuestro operador.

⟴ Sintaxis

Cadena1 = " Primer texto

Cadena2 = " Segundo texto

⟴ Valor de retorno

Valor_de_retorno = Cadena1 & Cadena2

4 diferentes usos de la función VBA concatenar en Excel

Aquí utilizaremos 4 enfoques diferentes para realizar el proceso de concatenación. Aplicaremos diferentes operadores en combinación con VBA para conseguirlo.

1. Utilizar el Operador Ampersand (&) para Unir Celdas en VBA Concatenar

Como se muestra en la siguiente captura de pantalla, tenemos una colección de datos de dos columnas con los nombres en una columna y los apellidos en la otra. Al fusionar las dos columnas, ahora podemos obtener los nombres completos. Porque VBA no tiene ningún método incorporado para la concatenación, utilizaremos el ampersand (&) operador como se detalla en las instrucciones siguientes.

Paso 1:

  • En primer lugar, pulse Alt + F11 para abrir el Hoja de cálculo habilitada para macros.
  • A continuación, haga clic en
  • Seleccione Módulo .

Segundo paso:

  • Para combinar dos celdas en una, copie y pegue lo siguiente VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub 

Toma,

  • Cadena1 = Celdas(5, 2).Valor es la ubicación de la primera célula B5 , fila 5, y columna 2 .
  • Cadena2 = Celdas(5, 3).Valor es la ubicación de la segunda célula C5 , fila 5, y columna 3 .
  • Cells(5, 5).Value = Cadena1 & Cadena2 es la ubicación de la celda resultante E5 , fila 5 y columna 5 .
  • Cadena1 & Cadena2 son las dos cadenas unidas por el ampersand (&)

Tercer paso:

  • Guardar y pulsar F5 para ejecutar el programa.

Por lo tanto, obtendrá el resultado en el E5 de la hoja de cálculo actual.

Paso 4:

  • Siga y repita los pasos para el resto de celdas y obtenga los resultados que se muestran en la imagen inferior.

Nota. Ejecutar VBA asegúrese cada vez de que su archivo Excel se guarda en Excel Hoja de cálculo con macros (xlsm.) formato.

Read More: Cómo utilizar VBA StrComp en Excel (5 ejemplos comunes)

2. Utilizar el Operador Más (+) para Unir Celdas en VBA Concatenar

Como se ha descrito en la sección anterior, hemos utilizado el ampersand (&) para unir cadenas de celdas. Puede obtener el mismo resultado aplicando el operador más (+) en lugar del ampersand (&) Para hacerlo, siga estos pasos.

Paso 1:

  • Para abrir Macro en Excel, pulse Alt + F11 .
  • Haga clic en Inserte y seleccione
  • Después de abrir la página del programa, pegue lo siguiente VBA
 Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub 

Toma,

  • Cells(5, 5).Value = Cadena1 + Cadena2 es esta línea que utilizamos más (+) en lugar del ampersand (&)

Segundo paso:

  • Después de pegar, guarda y pulsa F5 para ejecutar el programa. En consecuencia, verá el cambio en la celda E5 .

  • Para obtener los resultados finales, rellene las celdas necesarias realizando de nuevo los pasos anteriores.

Más información: Cómo utilizar la función StrConv de VBA (5 ejemplos)

Lecturas similares:

  • Cómo llamar a un Sub en VBA en Excel (4 Ejemplos)
  • Devolver un Valor en una Función VBA (Valores de Matriz y No Matriz)
  • Cómo utilizar la función DIR de VBA en Excel (7 ejemplos)
  • Uso de la Función UCASE de VBA en Excel (4 Ejemplos)
  • Cómo Usar la Función InStr en VBA (3 Ejemplos)

3. Añadir varias columnas utilizando VBA Concatenar

En los dos enfoques anteriores, hemos visto cómo combinar dos celdas. Sin embargo, si queremos aplicarlo a toda la columna, añadir una a una nos llevará mucho tiempo. Te enseñaremos cómo añadir varias columnas totalmente con VBA código para esto.

Primer paso:

  • En primer lugar, para abrir Macro pulse Alt + F11
  • Elija Módulo del Inserte tab
  • A continuación, pegue lo siguiente VBA
 Sub ConcatCols() 'concatena las columnas B & C en la columna E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5&C5" .Value = .Value End With End With End Sub 

Toma,

  • Con Worksheets("Hoja3") es el nombre de la hoja de cálculo actual.
  • LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row es el nombre de la primera columna.
  • With .Range("E5:E" & LastRow) es el rango de celdas de retorno resultante.
  • .Formula = "=B5&C5" es la fórmula para unir la primera celda del rango.

Segundo paso:

  • Por último, guarde y pulse F5 para ejecutar el programa.

Como resultado, obtendrá los resultados íntegramente en una columna.

Read More: Cómo utilizar VBA Rnd en Excel (4 métodos)

4. Unir Varias Filas Usando VBA Concatenar

Además de añadir varias columnas, también podemos aplicar VBA para concatenar varias filas en una. Como se muestra en la siguiente captura de pantalla, queremos concatenar las tres filas en una. Para concatenar las filas, siga estos sencillos pasos.

Primer paso:

  • Para activar Macro en Excel, pulse Alt + F11 .
  • A continuación, seleccione Módulo del Inserte
  • Para concatenar las filas, pegue el archivo VBA
 Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " Next rng Range("B8").Value = Trim(i) End Sub 

Toma,

  • Set RangoFuente = Rango("B5:D5") es el rango de celdas de origen.
  • Rango("B8").Valor = Trim(i) es el número de celda de retorno.

Segundo paso:

  • Por último, guarda el programa y pulsa F5 para correr.

Así, el resultado final concatenando las tres filas se mostrará en la celda B8 .

Más información: Cómo Desocultar las Filas Superiores en Excel (7 Métodos)

Conclusión

En resumen, espero que este post haya proporcionado instrucciones claras sobre cómo utilizar VBA concatenar en Excel de diversas maneras. Todas estas técnicas deben aprenderse y utilizarse con sus datos. Examine el libro de prácticas y ponga en práctica sus nuevos conocimientos. Gracias a su amable apoyo, nos sentimos motivados para seguir creando talleres como éste.

Si tiene alguna duda, no dude en ponerse en contacto con nosotros. Háganos llegar su opinión en la zona de comentarios.

En Exceldemy El equipo responderá constantemente a sus preguntas.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.