Classe Filter - filtro (Excel VBA)

A classe Filter representa um filtro para uma única coluna. Para usar uma variável de classe Filter, ela primeiro precisa ser instanciada por exemplo


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

For Each

Aqui está um exemplo de processamento dos itens Filter em uma coleção.


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

Count

Retorna o número de objetos na coleção. Somente leitura Long.


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

Criteria1

Retorna o primeiro valor filtrado da coluna especificada em um intervalo filtrado. Somente leitura .


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

Criteria2

Retorna o segundo valor filtrado para a coluna especificada em um intervalo filtrado. Somente leitura .

Se você tentar acessar a propriedade Criteria2 para um filtro que não use dois critérios, ocorrerá um erro. Verifique se a propriedade Operator do objeto Filter não é igual a zero (0) antes de tentar acessar a propriedade Criteria2 .

On

True se o filtro especificado estiver ativado. Boolean somente leitura.


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

Operator

Retorna um valor XlAutoFilterOperator que representa o operador que associa os dois critérios aplicados pelo filtro especificado. Aqui você pode encontrar os valores possíveis para XlAutoFilterOperator.


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