Classe Filter (Excel VBA)

A classe Filter representa um filtro para uma única coluna.

Set

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)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo Filter: Filters.Item e AutoFilter.Filters

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.

Os valores possíveis são xlAnd - Lógica e do Criteria1 e do Criteria2, xlBottom10Items - Itens de valor mais baixo exibidos (número de itens especificados em Criteria1), xlBottom10Percent - Itens de valor mais baixo exibidos (porcentagem especificada em Criteria1), xlFilterAutomaticFontColor, xlFilterCellColor - Cor da célula, xlFilterDynamic - Filtro dinâmico, xlFilterFontColor - Cor da fonte, xlFilterIcon - Ícone do filtro, xlFilterNoFill, xlFilterNoIcon, xlFilterValues - Valores do filtro, xlOr - Lógica ou de Criteria1 ou Criteria2, xlTop10Items - Itens de valor mais alto exibidos (número de itens especificados em Criteria1), xlTop10Percent - Itens de valor mais alto exibidos (porcentagem especificada em Criteria1).
ActiveSheet.AutoFilter.Filters(1).Operator = xlAnd

Parent

Retorna o objeto pai do objeto especificado. Somente leitura.

Filters.Count

Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveSheet.AutoFilter.Filters.Count

Filters.Item

Retorna um único objeto de uma coleção.

Sintaxe : expression.Item (Index)

Index: O número de índice do objeto.

Dim fltItem As Filter
Set fltItem = ActiveSheet.AutoFilter.Filters(Index:=1)

Filters.Parent

Retorna o objeto pai do objeto especificado. Somente leitura.