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:
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.
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