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.

PUBLICIDADE




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.

Filtro Avançado no Excel com Macro
Base de Dados pronta para receber o filtro

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.

PUBLICIDADE

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.

Local para realizar a gravação de macro
Gravar macro

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:

  1. Seleção da base de dados
  2. Através da guia inicial -> classificar e filtrar -> filtro
  3. Após isso, inserimos filtro de valor maior que 1800.
  4. 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.

Filtro aplicado com macro
Código VBA criado através de macro

Portanto, assim é possível criar um filtro avançado no excel utilizando números, agora veremos como texto.

PUBLICIDADE

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.

  1. Seleção da base de dados
  2. Através da guia inicial -> classificar e filtrar -> filtro
  3. Após isso, inserir valor igual a “Não Ok”
  4. 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

PUBLICIDADE

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.

filtro aplicado no excel
Filtro Final

Como resultado final, tivemos duas gravações de macro para aplicar filtro avançado no excel.

Compartilhe
Rafael Schreiner

Rafael Schreiner

Artigos: 348