Programación

Vamos a analizar distintos códigos de VBA para Office y poder sacarles el máximo rendimineto.

Concatenar Celdas

Function ConcatenarSI

( Versión VBA )

Por Héctor Miguel Orozco Díaz

Como sabréis Excel tiene la Función concatenar que une dos o mas cadenas en una cadena de texto, pero que se nos queda corta cuando necesitamos elaborar nuestras fórmulas o necesidades mas complejas.
En este artículo os vamos a mostrar como podéis concatenar celdas o unir celdas en una sola celda según condición mediante la Funcion ConcatenarSI

Desarrollo

Tenemos en nuestro Libro de Excel por ejemplo los siguientes datos:

Columna ANombres

Columna B >> Deportes

Datos Function ConcatenarSI

Necesitamos concatenar las celdas o unir las celdas cuyo deporte pertenezca a un nombre por ejemplo:

Queremos ver en la celda C2 nos aparezca todos los deportes que corresponden a Juan:

Function ConcatenarSI excel

Para ello aplicaremos la función Definida por el Usuario [ = ConcatenarSI ]

Function ConcatenarSI(Criterios As Range, Condicion As String, Datos As Range, _
                        Optional Exacto As Boolean = False, _
                        Optional Separa As String = " ") As String
  Dim Criterio As Range, Sig As Integer, Coincide As Boolean: ConcatenarSI = ""
  For Each Criterio In Criterios: Sig = Sig + 1: Coincide = IIf(Exacto, _
    Criterio = Condicion, LCase(Criterio) = LCase(Condicion))
    If Coincide Then If Not IsEmpty(Datos.Cells(Sig)) Then ConcatenarSI = _
      ConcatenarSI & IIf(Len(ConcatenarSI), Separa, "") & Datos.Cells(Sig)
  Next
End Function
'Function Héctor Miguel Orozco Díaz

Argumentos de la función concatenarSI

Argumentos Funcion Concatenar celdas excel

  • Los argumentos requeridos Criterios y Datos Tiene que tener la misma dimensión en Filas y columnas.
  • El argumento requerido Condición El dato que queremos que haga de nexo de unión en la Celda.
  • El argumento opcional Exacto Si ponemos un [ 1 ] nos buscara la coincidencia Exacta, si lo dejamos en blanco nos buscara todas las coincidencias.
  • El argumento opcional Separa Podemos dejarlo en Blanco o ponerle un separador al gusto [ , ] o [ - ] o [ / ] o etc....

Descarga del archivo:

 Function_ConcatenarSI.zip (9.56 kB)

 

Imprimir