Aplicar filtro automático em lista com VBA Excel

MR
Marcos Rieper

Especialista em Excel

26 de julho de 2012 Atualizado 08 de julho de 2026 3 min de leitura
Aplicar filtro automático em lista com VBA Excel

Aplicar filtro automático em lista com VBA Excel

Objetivo: Aplicar filtro automático em uma lista de dados a partir de um resumo Excel.

Objetivo do artigo

Neste artigo é demonstrado um pouco da forma como podemos interagir com a planilha através dos Eventos criados em VBA.

A implementação feita nesta planilha permite que ao dar um duplo clique sobre o nome do vendedor a lista Excel abaixo seja automaticamente filtrada.

E da mesma forma ao clicar na palavra "Limpar" o código Excel VBA faz automaticamente a limpeza dos filtros que haviam sido aplicados.

Criando a lista

A primeira coisa que deve-se fazer é a lista Excel, para isso basta dispor os dados em suas devidas colunas, no caso usamos, dia, mês, ano, valor e vendedor, sendo que o filtro será aplicado automaticamente conforme o vendedor.

Os dados não devem ser nunca misturados com outros, nestas colunas a partir dos seus cabeçalhos somente deverão existir os tipos de dados que se dispões no cabeçalho da tabela Excel.

Criando o resumo

O resumo foi criado colocando o cabeçalho vendedor e total. No campo de vendedor foram dispostos os nomes dos vendedores e no campo Total foi colocada a fórmula Excel Somase: =SOMASE(E8:$E$52400;D2;D8:$D$52400).

Esta fórmula realiza a soma das vendas de cada vendedor da lista, ignorando o filtro. Você pode ver mais em: http://guiadoexcel.com.br/funcao-somases-varias-condicoes-para-soma, inclusive com uma vídeo-aula.

Além disso foi escrito na célula B2 a palavra Limpar, sem nada a acrescentar por enquanto.

Aplicar o filtro automático em lista com VBA Excel

Agora para aplicar o filtro automaticamene foi adicionado o seguinte código VBA ao evento de duplo clique da planilha.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If (Target.Column = 4 And Target.Row >= 2 And Target.Row <= 5) And Target.Value  "" Then
        ActiveSheet.Range("$A$1:$E$518").AutoFilter Field:=5, Criteria1:=Target.Value, _
            Operator:=xlAnd
    Else
        If Target.Address = "$B$1" Then
            Application.EnableEvents = False
            Range("D7").Select
            Selection.AutoFilter
            Selection.AutoFilter
            Application.EnableEvents = True
        End If
    End If
End Sub

Este código realiza a aplicação do filtro se a coluna for a D e se a linha estiver entre a segunda e a quinta linha e se houver valor para aplicar o filtro. Deste modo só serão filtrados os dados na lista Excel se for clicado nesta coluna.

Logo abaixo da primeira verificação é aplicado o filtro utilizando o conteúdo da célula que foi clicada diretamente sobre a coluna E que é a coluna de vendedor.

Caso a célula que foi clicada não atenda os primeiros critérios o VBA realiza uma segunda verificação, para identificar se foi clicado na célula B1, e neste caso realizar a limpeza do filtro da lista de dados.

Conclusão filtro automático em lista com VBA Excel

Trabalhar com eventos no Excel VBA permite que tenhamos uma maior iteração com a planilha possibilitando inúmeras variações que podem agilizar a vida do usuário.

Download lista Excel VBA

Você pode fazer o download desta planilha e vê-la funcionando na prática clicando no botão abaixo.

Abraço

Marcos Rieper

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado