Usualmente se concatena la data con pocas celdas.
Entonces que pasaria si deseo concatenar muchas mas celdas??
Para ello se creó la Función CONCATENARCELDAS HECHOS EN VBA:
Con esta función se logrará concatenar a grandes rangos de data de manera mas rápida.
A continuación se muestra el VBA:
Function ConcatenarCeldas(rango As Range)
For Each celda In rango.Cells
If celda.Value " " Then
resultado = resultado & "; " & celda.Value
End If
Next
resultado = Right(resultado, Len(resultado) - 2)
ConcatenarCeldas = resultado
End Function
(Para mayor visualización de la imagen, hacer click en la misma)
EL SIGUIENTE EJEMPLO ESTA AL FINAL DE LA HOJA CON LINK DE DESCARGA DEL EXCEL
__________________________________
Concatenar celdas con VBA o Macros
23/06/2017 a las 5:42 pm
Hola buenas tardes, he realizado esta Practica, pero a la hora de querer llamar la Funcion en EXCEL no la manda llamar, sigue apareciendo solo la funcion CONCATENAR nativa de Excel, en un principio si me aparecían ambas, pero ahora no la manda llamar, que puede ser lo que no permita llamar la funcion??, de favor.
Por anticipado muchas gracias por su gran ayuda.
02/08/2017 a las 1:30 am
Buenas tardes, verifique si guardo el código en un modulo y que el libro donde este el modulo este abierto a la hora de emplear la funcion
02/08/2017 a las 1:42 am
Buenas tardes, verifique si guardo el código en un modulo y que el libro donde este el modulo este abierto a la hora de emplear la funcion
Igualmente el código correcto de la función es como aparece en la imagen:
Lo transcribo:
Function ConcatenarCeldas(rango As Range)
For Each celda In rango.Cells
If celda.Value " " Then
resultado = resultado & "; " & celda.Value
End If
Next
resultado = Right(resultado, Len(resultado) - 2)
ConcatenarCeldas = resultado
End Function
** Por ultimo al buscar en funciones debera aparecer al lado de la nativa Concatenar aparece ConcatenarCeldas, que es la que corresponde al código, brillantemente planteado por Fernando Santos
02/08/2017 a las 1:43 am
Function ConcatenarCeldas(rango As Range)
For Each celda In rango.Cells
If celda.Value " " Then
resultado = resultado & "; " & celda.Value
End If
Next
resultado = Right(resultado, Len(resultado) - 2)
ConcatenarCeldas = resultado
End Function
02/03/2018 a las 5:21 pm
Buena tarde, como seria el código si quisiera concatenar unas celdas pero antes de la ultima celda me anteponga la "y". me explico , con el código quedaría, alex; maría; juan; pilar; alberto; ale, que instrucción tendría que aumentar para que me quedara alex, maría, juan, pilar, alberto y ale.