Planilha com Filtro Automático

MR
Marcos Rieper

Especialista em Excel

09 de setembro de 2010 Atualizado 08 de julho de 2026 3 min de leitura
Lista Excel VBA com Filtro de Dados Automático 3
Neste passo-a-passo vamos ver como criar uma planilha com filtro automático de dados, sem a necessidade de clicar para abrir o filtro.
Esta planilha terá campos do tipo Caixa de Texto utilizando VBA para executar o filtro para cada campo. O filtro será aplicado a cada letra que você digitar, ocasionando uma planilha com um filtro extremamente rápida e perfeita para planilhas de preços por exemplo.

Vamos lá:1. Faça o download da lista de dados aqui.

Lista de dados
Lista de dados

2. Note que o filtro já está aplicado no cabeçalho, caso a sua planilha não tivesse, você deve aplicar o filtro para continuar.

3.Clique na guia Desenvolvedor e no botão Modo de Design, o que colocará o Excel no modo de desenvolvimento para poder colocar componentes de formulário na planilha.

3. Clique na guia Desenvolvedor, no botão Inserir e selecione Caixa de Texto.

Caixa de texto
Caixa de texto

4.Coloque as caixas de texto acima dos nomes de cada uma das colunas conforme a figura.

Inserção das caixas de texto
Inserção das caixas de texto

5.Clique sobre a caixa de texto da coluna código e nomeie-a como Codigo na caixa de nome, repita a operação para as caixas de texto seguintes, como Loja, Produto, Estoque e Preco.

Nomear caixas de texto
Nomear caixas de texto

6.Clique na guia Desenvolvedor e desmarque o botão Modo de Design.

7.Ainda na guia Desenvolvedor clique no botão Visual Basic.

8.Clique no botão Project Explorer, selecione o projeto VBAProject (Lista de dados.xlsm), clique em Plan1 neste projeto conforme na figura.

Projeto
Projeto

9.No lado direito clique na guia  de código fonte digite o código abaixo:

Private Sub Codigo_Change()
  If Codigo.Text  "" Then
    Selection.AutoFilter Field:=1, Criteria1:="=" & Codigo.Text
  Else
    Selection.AutoFilter Field:=1
  End If
End Sub

Private Sub Estoque_Change()
  If Estoque.Text  "" Then
    Selection.AutoFilter Field:=4, Criteria1:="=" & Estoque.Text
  Else
    Selection.AutoFilter Field:=4
  End If
End Sub

Private Sub Loja_Change()
    Selection.AutoFilter Field:=2, Criteria1:=CStr("*" + Loja.Text) + "*"
End Sub

Private Sub Preco_Change()
  If Preco.Text  "" Then
    Selection.AutoFilter Field:=5, Criteria1:=">=" & Replace(Preco.Text, ",", "."), Criteria2:="<=" & Replace(Preco.Text + 0.0099999, ",", ".")
  Else
    Selection.AutoFilter Field:=5
  End If
End Sub

Private Sub Produto_Change()
    Selection.AutoFilter Field:=3, Criteria1:=CStr("*" + Produto.Text) + "*"
End Sub

Private Sub Comissao_Change()
  If Comissao.Text  "" Then
    Selection.AutoFilter Field:=6, Criteria1:=">=" & Replace(Comissao.Text / 100, ",", "."), Criteria2:="<=" & Replace(Comissao.Text / 100 + 0.0099999, ",", ".")
  Else
    Selection.AutoFilter Field:=6
  End If
End Sub

Private Sub txtAte_Change()
  If txtData.Text  "" And IsDate(txtData.Text) And IsDate(txtAte.Text) Then
    Selection.AutoFilter Field:=7, Criteria1:=">=" & Format(txtData.Text, "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(txtAte.Text, "mm/dd/yyyy")
  Else
    Selection.AutoFilter Field:=7
  End If
End Sub

Private Sub txtData_Change()
  If txtData.Text  "" And IsDate(txtData.Text) And IsDate(txtAte.Text) Then
    Selection.AutoFilter Field:=7, Criteria1:=">=" & Format(txtData.Text, "mm/dd/yyyy"), Operator:=xlAnd, Criteria2:="<=" & Format(txtAte.Text, "mm/dd/yyyy")
  Else
    Selection.AutoFilter Field:=7
  End If
End Sub

Pronto! Agora sempre que você digitar os dados nos campos TextBox você terá os filtros sendo aplicados diretamente nestas colunas.

Download — baixe aqui: Planilha com filtro automático

Preencha seus dados para receber o link de download no seu e-mail.

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