Vba: como usar o filtro automático com vários critérios


Você pode usar os seguintes métodos para usar o AutoFiltro no VBA com vários critérios:

Método 1: use o AutoFiltro com vários critérios em uma única coluna

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Esta macro específica irá filtrar todas as linhas no intervalo A1:C11 onde o valor da primeira coluna é igual a “A” ou “C”.

Método 2: use o AutoFiltro com vários critérios em várias colunas

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Esta macro específica irá filtrar o intervalo A1:C11 para mostrar apenas as linhas onde a primeira coluna é igual a “A” e a segunda coluna é igual a “Guarda”.

Os exemplos a seguir mostram como usar cada um desses métodos na prática com o seguinte conjunto de dados no Excel:

Exemplo 1: Use o AutoFiltro com vários critérios em uma coluna

Digamos que queremos filtrar o conjunto de dados para mostrar apenas as linhas cuja primeira coluna seja igual a “A” ou “C”.

Podemos criar a seguinte macro para fazer isso:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=Array(" A ", " C "), Operator:=xlFilterValues
End With

End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que o conjunto de dados foi filtrado para mostrar apenas as linhas com a primeira coluna igual a “A” ou “C”.

Observação : incluímos apenas dois valores possíveis na função Array() , mas fique à vontade para incluir quantos desejar.

Exemplo 2: Use filtro automático com vários critérios em várias colunas

Digamos que queremos filtrar o conjunto de dados para mostrar apenas as linhas onde o valor da coluna Equipe é igual a A e o valor da coluna Posição é igual a Guarda.

Podemos criar a seguinte macro para fazer isso:

 Sub FilterMultipleCriteria()

With Range(" A1:C11 ")
    .AutoFilter Field:=1, Criteria1:=" A "
    .AutoFilter Field:=2, Criteria1:=" Guard "
End With

End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Percebi que o conjunto de dados foi filtrado para mostrar apenas as linhas onde o valor na coluna Equipe é igual a A e o valor na coluna Posição é igual a Guarda.

Nota : Você pode encontrar a documentação completa do método VBA AutoFilter aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como filtrar tabelas dinâmicas
VBA: Como limpar filtros
VBA: como remover valores duplicados

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *