Como colocar filtro de pesquisa em um tabela no Excel com VBA

 

Como Colocar Filtro de Pesquisa em uma Tabela no Excel com VBA

Se você trabalha com planilhas no Excel, sabe o quão importante é ter um método eficiente para filtrar dados. Neste artigo, vamos explorar como implementar uma barra de pesquisa que permite filtrar uma tabela em Excel usando VBA (Visual Basic for Applications). Este recurso pode ser especialmente útil para gerenciar grandes volumes de informações, como listas de produtos, controle de vendas ou dados de estoque.

Por que Usar um Filtro de Pesquisa?

Um filtro de pesquisa permite que você encontre rapidamente informações específicas em uma tabela. Isso não só economiza tempo, mas também melhora a eficiência ao trabalhar com dados complexos. Com uma barra de pesquisa, você pode digitar uma palavra-chave e a tabela se ajustará automaticamente para mostrar apenas os resultados relevantes.

Preparando o Ambiente

Antes de começarmos a implementar o filtro de pesquisa, precisamos preparar nosso ambiente no Excel. Abaixo estão os passos iniciais que você deve seguir:

  • Abra o Excel e crie ou carregue uma tabela com dados que você deseja filtrar.
  • Certifique-se de que a guia “Desenvolvedor” está habilitada. Para isso, vá até “Arquivo” > “Opções” > “Personalizar Faixa de Opções” e marque a opção “Desenvolvedor”.

Inserindo a Caixa de Texto

Com a guia “Desenvolvedor” habilitada, o próximo passo é inserir uma caixa de texto que será usada para a pesquisa. Aqui está como fazê-lo:

  1. Na guia “Desenvolvedor”, clique em “Inserir” e selecione “Caixa de Texto (Controle ActiveX)”.
  2. Desenhe a caixa de texto na sua planilha onde você deseja que a barra de pesquisa apareça.

Gravando a Macro

Agora que temos a caixa de texto, precisamos criar uma macro que irá realizar o filtro com base no que for digitado. Siga os passos abaixo:

  1. Na guia “Desenvolvedor”, clique em “Gravar Macro”.
  2. Nomeie sua macro como “Filtro” e clique em “OK”.
  3. Selecione a tabela que deseja filtrar e aplique um filtro de texto na coluna desejada. Por exemplo, selecione “Contém” e digite “PR”.
  4. Depois de aplicar o filtro, pare a gravação da macro.

Configurando o Código VBA

Após gravar a macro, precisamos ajustar o código VBA para que ele funcione com a caixa de texto que inserimos. Veja como fazer isso:

  1. Pressione Alt + F11 para abrir o editor VBA.
  2. Localize a macro que você gravou e copie o código que foi gerado.
  3. Agora, clique duas vezes na caixa de texto que você inseriu na planilha. Isso abrirá o editor de código para a caixa de texto.
  4. Cole o código da macro que você copiou anteriormente.

Escrevendo o Código para Filtragem

O próximo passo é escrever o código que fará a filtragem com base na entrada da caixa de texto. Aqui está um exemplo de como fazer isso:

If TestBox1.Value <> "" Then
    ActiveSheet.ListObjects("NomeDaTabela").Range.AutoFilter Field:=1, 
    Criteria1:="*" & TestBox1.Value & "*"
Else
    ActiveSheet.ListObjects("NomeDaTabela").Range.AutoFilter Field:=1
End If

Certifique-se de substituir “NomeDaTabela” pelo nome real da sua tabela no Excel.

Testando o Filtro de Pesquisa

Agora que tudo está configurado, é hora de testar o filtro de pesquisa:

  • Saia do modo de design clicando em “Modo de Design” na guia “Desenvolvedor”.
  • Digite um termo na caixa de texto e veja a tabela filtrar automaticamente os resultados.
  • Se você apagar o texto da caixa, todos os dados da tabela devem ser exibidos novamente.

Considerações Finais

Implementar um filtro de pesquisa em uma tabela no Excel usando VBA pode parecer um desafio, mas é uma habilidade valiosa que pode economizar muito tempo e esforço ao trabalhar com grandes conjuntos de dados. Com essa técnica, você poderá criar uma experiência de usuário mais dinâmica e eficiente em suas planilhas.

Se você tiver dúvidas ou sugestões, não hesite em deixar um comentário abaixo. E lembre-se de salvar sua planilha como “Pasta de Trabalho Habilitada para Macro do Excel” para garantir que suas macros funcionem corretamente.

Esperamos que este guia tenha sido útil para você! Boa sorte com suas planilhas e até a próxima.

 

Miguel Rodrigues