En esta ocasión mostraré cómo crear una función VBA para concatenar múltiples celdas en Excel con solo especificar un rango de celdas. Esta función será de gran ayuda cuando necesitemos concatenar una gran cantidad de cadenas de texto.
Desventaja de la función CONCATENAR
Excel provee la función CONCATENAR para poder unir los valores de varias celdas, pero su grande desventaja es que debemos especificar cada uno de los valores. Esto no sería problema si solo queremos concatenar dos o tres celdas, pero se convierte en un problema si necesitamos unir el texto de cien o más celdas.
Supongamos que tenemos una lista de nombres de empleados de acuerdo a la localidad donde trabajan.
Nuestro objetivo es concatenar todos los nombres en una sola cadena de texto que utilizará el punto y coma (;) y un espacio como separadores entre cada nombre. Si quisiéramos utilizar la función CONCATENAR necesitaríamos una fórmula como la siguiente:
=CONCATENAR(B2, "; ", B3, "; ", B4, "; ", B5, "; ", C2, "; ", C3, "; ", C4, "; ", D2, "; ", D3, "; ", D4, "; ", D5, "; ", E2, "; ", E3, "; ", E4)
Función VBA para concatenar múltiples celdas
En casos como el anterior, es totalmente impráctico utilizar la función CONCATENAR por lo que crear una función VBA que nos ayude a concatenar múltiples celdas en Excel será de gran beneficio. Considera el siguiente código:
La función CONCATENARCELDAS recibe como argumento un rango y recorre cada una de las celdas para concatenar sus valores. Solo en caso de que la celda no tenga un valor será excluida de la concatenación.
Ya que en el primer ciclo del bucle la variable resultado está vacía, mi cadena siempre empezará con un punto y coma. Es por eso que usando las funciones Right y Len remuevo esa primera aparición del punto y coma y del primer espacio en blanco.
Probar la concatenación de varias celdas
Observa la siguiente animación donde pongo a prueba la función VBA recién creada.
Esta función es muy básica, pero nos ayuda a concatenar múltiples celdas de una manera rápida y sencilla. Seguramente existen muchas ideas para mejorar esta función pero serán tema de otro artículo. Mientras tanto puedes descargar el libro de trabajo y experimentar por ti mismo.
Artículos relacionados
Introducción a las macros