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 comentários em “VBA – Filtrar dados no ListBox (Tela de Pesquisa) – Parte 2”

Os comentários estão fechados.