Filtro Avançado Excel com Macro
Em resumo, na aula de hoje vamos aprender a realizar um filtro avançado no excel gravando uma macro.
Em outras palavras, faremos uma automatização através do uso de VBA para criar filtro com excel.
Mas para isso, vamos precisar de alguns exemplos práticos.
Serão realizados dois exemplos práticos, onde vamos realizar filtro avançado de texto, e outro com números.
Filtro Avançado de Número no Excel
Em primeiro lugar, vamos habilitar a guia desenvolvedor no excel para simplificar a gravação de macro.
Após isso, vamos realizar um filtro avançado, onde queremos que nossa célula com cabeçalho “Valor” seja mostrado apenas valores superiores de 1800.
Em resumo, poderíamos em Classificar e Filtrar apenas inserir um filtro de >1800.
No entanto, como queremos automatizar o processo para não precisar filtrar manualmente toda vez que necessário.
Vamos automatizar a rotina através da guia desenvolvedor.
Em segundo lugar, para começar a criar um filtro avançado no excel para receber o uso de automatização com macro, vamos iniciar a gravação.
Agora é importante que tudo o que você fizer seja apenas para realizar o filtro, pois o excel irá gravar tudo o que for feito.
Em resumo, após a gravação realizada e filtro inserido, vamos chegar a um resultado de código criado automático semelhante ao abaixo.
Sub Macro1()
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$5").AutoFilter Field:=3, Criteria1:=">1800"
End Sub
Em resumo, seguimos os seguintes passos:
- Seleção da base de dados
- Através da guia inicial -> classificar e filtrar -> filtro
- Após isso, inserimos filtro de valor maior que 1800.
- Finalizamos a gravação de macro, obtendo o código acima.
Como resultado, acessando o Visual Basic podemos observar o código gerado.
Em outras palavras, através dele podemos inserir filtro apenas com um botão.
Portanto, assim é possível criar um filtro avançado no excel utilizando números, agora veremos como texto.
Inserir Filtro de Texto com macro
No entanto, agora vamos através da coluna D, filtrar apenas dados que contenham “Não Ok” por escrito.
Em outras palavras, vamos aplicar filtro de texto por macro para facilitar ainda mais o aprendizado.
Com isso, teremos um retorno semelhante ao anterior, porém em texto.
Em primeiro lugar, vamos gravar uma nova macro.
Após isso, vamos seguir os passos abaixo.
- Seleção da base de dados
- Através da guia inicial -> classificar e filtrar -> filtro
- Após isso, inserir valor igual a “Não Ok”
- Finalizamos a gravação de macro, obtendo o código acima.
Sub Macro2()
Selection.AutoFilter
ActiveSheet.Range(“$A$1:$D$5″).AutoFilter Field:=4, Criteria1:=”Não Ok”
End Sub
Como é possível reparar acima, mudou apenas o nosso critério e também o Field que seria a coluna de filtro.
Portanto, com isso automatizamos um novo formato de filtro, agora com texto.
Para confirmar se ficou tudo correto, vamos ao visual basic, e dentro de nosso módulo do excel, vamos verificar.
Como resultado final, tivemos duas gravações de macro para aplicar filtro avançado no excel.