La otra de forma de realizarlo es crear una función UDF en excel vba que nos permita concatenar las celdas que nosotros necesitemos en un solo paso. Entonces pasaremos a crear la sintaxis de nuestra función a crear.
Una vez que tengamos abierto nuestro libro de excel realizaremos lo siguiente:
- Presionamos ALT + F11 para ingresar a VBA
- Clic en el menú insertar / Agregar modulo
Luego en el modulo pegamos el siguiente código
Function UnirCeldas(Rango As Range, Sep As String)
For Each celda In Rango
concat = concat & celda & Sep
Next
UnirCeldas = Left(concat, Len(concat) - 1)
End Function
Esta función nos sirve para poder concatenar todas las celdas tanto verticales como horizontales que nosotros necesitemos.
Entonces vamos a explicar la sintaxis de nuestra función para luego aplicarla en una hoja de excel
=UnirCeldas(Rango,Sep)
Rango: Rango de celdas a concatenar
Sep: Separador de cada celda al momento de concatenar
Ponemos un ejemplo para su mayor comprensión
Luego tienen que guardarlo como libro de excel habilitado para macros
la funcion esta mal, si copias y pegas de un post en ingles por favor, comprueba que has puesto bien el nombre de la formula en todo el codigo!!! y funciona con ; no con coma!!!
ResponderEliminarFunction UnirCeldas(Rango As Range, Sep As String)
For Each celda In Rango
UnirCeldas = UnirCeldas & celda & Sep
Next
UnirCeldas = Left(UnirCeldas, Len(UnirCeldas) - 1)
End Function
El post lo he creado yo, no lo he copiado de ningun blog en ingles.
ResponderEliminarQuisiera saber cual es tu duda? Algo no te funciona?
Hola! estoy utilizando esta función y me va perfectamente pero quería saber si es posible hacer que sólo concatene valores únicos. Es decir, en el rango tengo valores que se repiten varias veces y quisiera que sólo me lo concatenase una vez. Creo que sería un condicional pero soy bastante mala con esto y no veo cómo hacerlo.
ResponderEliminarMil gracias!
Hola amigo quiero concatenar dos celdas en especifico y luego copiarla al portapapeles, sabes como puedo hacerlo con vba.
ResponderEliminargracias