sábado, 10 de junho de 2017

Filtro avançado no Excel com execução via Macro

Olá Pessoal,

Nesse post vou mostrar como criar uma filtro avançado no Excel utilizando a gravação de macro do Excel para executar o filtro quantas vezes for necessário ao clique de uma botão.

Não se preocupem que não vamos trabalhar com programação em VBA nesse post, mas antes de seguir essa leitura é importante que já tenha lido ou tenha conhecimento das ferramentas explicadas nos artigos abaixo listados:




Como dito acima vamos trabalhar com uma Macro para executar o filtro avançado automaticamente, portanto é obrigatória que já esteja com sua Guia Desenvolvedor devidamente habilitada no Excel.

O que é filtro avançado?

É um recurso do Excel que permite filtrar uma lista de dados com mais de um critério, ou seja, irá exibir apenas os dados que atendem a condição de filtro criada e os demais serão ocultados. Essa ferramenta é excelente para utilizar em planilhas onde existe uma lista muito grande de itens.

Como Aplicar

Para aplicar o filtro avançado vou utilizar como exemplo uma lista de produtos cadastrados na guia Cadastro. A planilha terá três colunas, sendo elas: Código do Produto, Descrição e Valor Unitário. 

*Os valores e produtos foram criados apenas para usar como exemplo, ou seja, não tem nenhuma referência com o valor comercial.



Para iniciar, no lado esquerdo da planilha atual vamos duplicar o cabeçalho duas vezes, deixando algumas linhas em branco (F2 até F8) para inserir os dados que vamos utilizar para os nossos futuros filtros. Sua planilha ficará igual a imagem abaixo:




Após criado os cabeçalhos, vamos ativar a gravação da Macro para que o filtro avançado seja memorizado para utilização futura. Sigo os passos abaixo:

  • Clique na Guia Desenvolvedor
  • Depois em Gravar Macro

  • Colocar o Nome da Macro como FiltroAV
  • Inserir na Descrição a texto: Gerar filtro avançado de produtos
  • Clique em OK


Com a Macro em execução vamos finalmente criar o filtro avançado clicando em:
  • Guia Dados
  • Classificar e Filtrar
  • Selecione Avançado

A janela Filtro Avançado será aberta e vamos selecionar no campo Ação a opção Copiar para outro local.



No campo Intervalo da lista vamos selecionar a planilha base que está na colunas A até C: 

Resultado : $A$1:$C$50




No campo Intervalo de critérios vamos selecionar o local onde será inserido os dados para aplicar o filtro, ou seja, de F1:H2 .

Resultado : Cadastro!$F$1:$H$2



No campo Copiar para vamos selecionar somente os cabeçalhos que estão nas células F9 até H9.


Agora clicamos em OK e o Excel irá apresentar o resultado abaixo das células F5, G5 e H5, conforme abaixo:



Antes de continuar com a explicação do filtro avançado, vamos parar a gravação da Macro.
  • Clique na Guia Desenvolvedor
  • Depois em Parar Gravação

Pronto! Macro salva em seu projeto do VBA.

Agora Vamos inserir um botão na sua planilha para executar a macro do filtro avançado em um clique:

  • Na Guia Desenvolvedor clique em Inserir Botão
  • Clique na coluna D de sua planilha para criar o botão
  • Selecione Macros em: Esta pasta de trabalho
  • Clique na Macro FiltrosAV e depois em OK


Agora ao clicar no Botão 1 o Excel irá criar e executar o filtro avançado automaticamente.

Vamos fazer um exemplo para entender melhor como essa ferramenta funciona:

  • Na célula G2 vamos digitar a palavra CANETA
  • Depois vamos clicar no Botão 1
Você vai notar que irá aparecer todos os produtos que tem a palavra CANETA a partir da célula F10.


Essa ferramente é bem interessante, não é? Você pode utilizar para fazer diversos tipos de filtros. Por exemplo, vamos fazer agora um filtro com base no valor:

  • Limpe a célula G2 (CANETA)
  • Insira na célula H2 o valor <4
  • Pressione o Botão 1
Como pode ser na imagem abaixo o filtro a partir da célula F10 só mostrou os produtos que tem valor menor que R$4,00.



Pronto. Sua planilha com filtro avançado via macro está criada e funcionando perfeitamente. Agora você precisa praticar o uso dessa ferramenta no seu dia a dia e adaptar ela de acordo com suas necessidades. 

Para aqueles que tem interesse em saber como é o código VBA que o Excel gera ao gravar a Macro para realizar essa ação, dentro da planilha Cadastro pressione F11 e confira o código gerado para o filtro avançado.



Antes de fechar sua planilha não esqueça de salvar ela clicando em Salvar Como e selecionando o tipo Pasta de Trabalho Habilitada para Macro do Excel.

Caso tenha alguma duvida ou sugestão, deixe seu comentário.

Grande abraço

Vagston Bueno

Nenhum comentário:

Postar um comentário