VBA – Filtrar dados no ListBox (Tela de Pesquisa) – Parte 2

Há algum tempo, publiquei um exemplo de código VBA que permitia efetuar um filtro em uma lista de itens em um ListBox (UserForm), mas especificamente neste link:

https://www.tomasvasquez.com.br/blog/microsoft-office/vba-como-filtrar-dados-no-listbox

Bom, nas discussões no nosso fórum, acabamos por aperfeiçoar o código para algo mais abrangente. A boa notícia é que o código continua bem genérico, pode ser facilmente acoplado em qualquer planilha. A notícia ótima é que os critérios de filtro ficaram bem mais completos.

O código agora permite selecionar o campo no qual será aplicado o filtro, o valor do filtro e mostra todos as colunas da tabela. Abaixo segue como ficou a aparência do formulário:

O código VBA

Entrando um pouco em detalhes a respeito do funcionamento do código e como adaptá-lo a sua planilha, seguem algumas considerações.

Variáveis

Private Const NomePlanilha As String = “Fornecedores”
Private Const LinhaCabecalho As Integer = 1

NomePlanilha contempla o nome da planilha ao qual será aplicado o filtro. Altere para o nome da sua planilha.

LinhaCabecalho representa qual a linha da sua planilha contém o cabeçalho da tabela. É nele que se baseiam todos as outras funções.

Funções

PreencheCampos – Preenche o ComboBox com o nome dos cabeçalhos

PreencheCabecalho – Função auxiliar para colocar no ListBox de resultado o cabeçalho dos valores

PreencheLista – Preenche o ListBox de resultado considerando os valores de filtro

Download da planilha

Filtra_ListBox_VBA_Custom.zip

Bom proveito!

Comentários

comentários

9 thoughts on “VBA – Filtrar dados no ListBox (Tela de Pesquisa) – Parte 2”

  1. Ficou mto bom!!! no entanto as colunas tem que conter dados continuos, caso falte um no meio da coluna (em branco) a busca vai até este e consequentemente retorna os dados incorretos (faltando).

  2. Olá, gostaria de saber neste exemplo, como posso aplicar um “Like” e como exibir só as coluas “B” e “C” no “ListBox”.
    Desde já, agradeço a atenção.

  3. isto as colunas do ListBoxLista não fiquem fixa e sim ajustável ao tamanho do maior conteúdo da coluna original da planilha. Obrigado Tómas pela atenção.

Comments are closed.