Planilha com Filtro Automático
Especialista em Excel

Vamos lá:1. Faça o download da lista de dados aqui.
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.
4.Coloque as caixas de texto acima dos nomes de cada uma das colunas conforme a figura.
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.
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.
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.
Abraço
Marcos Rieper
Principais recursos
Confira o que este material oferece para você.
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
R$ 89,90
Controle de Estoque
R$ 69,90
Planilha Financeira Empresarial
R$ 79,90
Dashboard Financeiro no Excel
R$ 49,90









