Actualización: Función EXCELeINFO CONCATENAR ahora omite celdas en blanco
Ésta función que les comparto es una de las que más uso en mis labores diarias, es por eso que procuro actualizarla constantemente. En esta ocasión y en base a un comentario de un visitante del Blog les comparto una actualización que contiene 2 cambios importantes:
-
Si el rango seleccionado incluye celdas en blanco, éstas son omitidas del texto resultante.
-
Ahora la función hace dos validaciones dependiendo de si se define un separador o no, para no causar conflictor en el texto resultante.
Cómo funciona
En este ejemplo la función es llamada EICONCATENAR y cuenta con dos parámetros:
-
Rango: El conjunto de celdas que la función tomará para unir sus valores.
-
Separador (opcional) : Caracter que se imprimirá entre cada palabra.
Al usar la función si deseamos podemos usar un caracter separador para que se imprima entre cada palabra, así como en la Figura 1.
Figura 1. Función EICONCATENAR con espacio como separador.
Pero como el separador es opcional, no lo usamos si no deseamos, como en la Figura 2.
Figura 2. Función EICONCATENAR sin separador.
Código vba de la función
Nombre UDF: EICONCATENAR
Ubicación: Módulo normal.
'--------------------------------------------------------------------------------------- ' Module : Módulo1 ' Author : MVP Excel, Sergio Alejandro Campos ' Date : 12/01/2015 ' Purpose : Función UDF para concatenar contenido de celdas '--------------------------------------------------------------------------------------- ' Function EICONCATENAR(Rango As Range, Optional Separador As Variant) As String Dim t As String Dim lenTexto As Integer Application.Volatile ' For Each Celda In Rango If Not IsEmpty(Celda.Value) Then If IsMissing(Separador) Then Separador = "" t = t & Separador & Celda.Value Else End If ' Next Celda ' If Separador = "" Then ' EICONCATENAR = t ' Else ' lenTexto = Len(t) EICONCATENAR = Right(t, lenTexto - 1) ' End If ' End Function