¿Cómo usar la función Filter en VBA?

La función Filter en VBA se utiliza para filtrar una matriz de cadenas en función de un valor de filtro especificado. Esta función devuelve una matriz que contiene solo los elementos que coinciden con el valor de filtro proporcionado.

Sintaxis básica

VBA

Filter(SourceArray, Match, [Include], [Compare])

  • SourceArray: Es la matriz origen que contiene las cadenas de texto que quieres filtrar.
  • Match: Es la cadena que estás buscando dentro de los elementos del SourceArray.
  • Include: Es un valor booleano que determina si debe incluirse (True) o excluirse (False) el criterio de coincidencia. Por defecto, es True.
  • Compare: Un valor opcional que especifica el tipo de comparación (binaria o textual). El valor vbTextCompare (1) para una comparación no sensible a mayúsculas y minúsculas, o vbBinaryCompare (0) para una comparación sensible a mayúsculas y minúsculas.

Aquí hay un ejemplo sencillo de cómo puedes usar la función Filter en VBA:

VBA

Sub EjemploFilter()
    Dim palabras() As String
    Dim resultado() As String
    Dim i As Integer
    
    ' Inicializar la matriz de cadenas
    palabras = Split("manzana,banana,kiwi,manzana,frambuesa", ",")
    
    ' Filtrar para encontrar todas las instancias de "manzana"
    resultado = Filter(palabras, "manzana", True)
    
    ' Imprimir los resultados
    For i = LBound(resultado) To UBound(resultado)
        Debug.Print resultado(i)
    Next i
End Sub

Este código filtrará las palabras y te devolverá una matriz que solo contiene la palabra «manzana». El resultado en la ventana inmediata de VBA (que se muestra al presionar Ctrl+G en el editor de VBA) debería ser dos líneas con la palabra «manzana».

Recuerda que la función Split se utiliza aquí para crear una matriz palabras a partir de una cadena, donde cada palabra está separada por comas.

Otro ejemplo podría ser excluir las coincidencias del filtro, es decir, obtener un resultado que contenga todos los elementos de la matriz que no coinciden con el valor especificado:

VBA

' Filtrar para excluir todas las instancias de "manzana"
resultado = Filter(palabras, "manzana", False)

Este código te devolverá una matriz que contiene todas las cadenas que no son «manzana».

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario