Como filtrar uma coluna usando vba (com exemplos)


Você pode usar os seguintes métodos para filtrar por coluna no Excel usando VBA:

Método 1: Filtrar com base no valor de uma coluna

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub

Esta macro específica filtrará o intervalo A1:C11 para mostrar apenas as linhas cuja primeira coluna seja igual ao valor da célula F2 .

Método 2: Filtrar com base em vários valores de coluna

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
                                 Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub

Esta macro específica filtrará o intervalo A1:C11 para mostrar apenas as linhas cuja primeira coluna seja igual ao valor da célula F2 ou F3 .

Método 3: limpar filtros

 SubClearFilters ()
ActiveSheet.AutoFilterMode = False
End Sub

Esta macro específica limpará todos os filtros da planilha atual.

Os exemplos a seguir mostram como usar cada um desses métodos na prática.

Exemplo 1: Filtrar com base no valor de uma coluna

Suponha que temos um conjunto de dados contendo informações sobre vários jogadores de basquete e queremos filtrar o conjunto de dados para conter apenas as linhas cujo valor na coluna Equipe é igual a A:

Podemos criar a seguinte macro para fazer isso:

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value
End Sub

Quando executamos esta macro, o conjunto de dados será automaticamente filtrado para conter apenas linhas cujo valor na coluna Equipe seja igual a A:

Coluna de filtro VBA com base no valor da célula

Exemplo 2: Filtrar com base em vários valores de coluna

Digamos que queremos filtrar o conjunto de dados para conter apenas linhas cujo valor na coluna Equipe seja igual a A ou C:

Podemos criar a seguinte macro para fazer isso:

 SubFilterRows ()
ActiveSheet.Range(" A1:C11 ").AutoFilter field:=1, Criteria1:=Range(" F2 ").Value, _
                                 Operator:=xlOr, Criteria2:=Range(" F3 ").Value
End Sub

Quando executamos esta macro, o conjunto de dados é automaticamente filtrado para mostrar apenas as linhas cujo valor na coluna Equipe é igual a A ou C.

Coluna de filtro VBA baseada em vários critérios

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 atualizar tabelas dinâmicas
VBA: Como filtrar tabelas dinâmicas
VBA: como remover valores duplicados

Add a Comment

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