Clase Filter - filtro (Excel VBA)

La clase Filter representa un filtro para una sola columna. Para usar una variable de clase Filter, primero debe ser instanciado, por ejemplo


Dim flt as Filter
Set flt = ActiveSheet.AutoFilter.Filters(Index:=1)

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Filter en una colección.


Dim flt As Filter
For Each flt In ActiveSheet.AutoFilter.Filters
	
Next flt

Count

Devuelve el número de objetos de la colección.


Dim lngCount As Long
lngCount = ActiveSheet.AutoFilter.Filters(1).Count

Criteria1

Devuelve el primer valor filtrado de la columna especificada en un rango filtrado.


Dim varCriteria1 As Variant
varCriteria1 = ActiveSheet.AutoFilter.Filters(1).Criteria1

Criteria2

Devuelve el segundo valor filtrado de la columna especificada en un rango filtrado.

Si intenta obtener acceso a la propiedad Criteria2 para conseguir un filtro que no utilice dos criterios, se producirá un error.

On

True si el filtro especificado está activado.


Dim booOn As Boolean
booOn = ActiveSheet.AutoFilter.Filters(1).On

Operator

Devuelve un valor XlAutoFilterOperator que representa el operador que asocia los dos criterios aplicados por el filtro especificado. Aquí puede ver valores posibles para XlAutoFilterOperator.


ActiveSheet.AutoFilter.Filters(1).Operator = xlAnd