Tenha em mãos as Melhores Planilhas! Paulo

Pesquisa de Formulário avançada no listbox com VBA Excel

Pesquisa de Formulário avançada no listbox com VBA Excel

No artigo de hoje nós veremos como se faz uma Pesquisa de Formulário avançada no listbox com VBA Excel, essa pesquisa avançada funcionara de forma.

Ao digitar o nome (O registro procurado) ou apenas a inicial da letra no campo de pesquisa, todos os dados da planilha com esses caracteres serão listadas na list-box . Com uma Pesquisa de Formulário avançada no listbox com VBA Excel

Oque é o List box do Excel?

Para os leigos em Excel, o list-box é nada mas nada menos que uma caixa de listagem que pode ser atribuída dentro de um formulário do Excel , com essa caixa de listagem nós podemos puxa dados da planilha e lista esses dados dentro dela.

Mas qual seria a importância do list-box em uma planilha do Excel? eu preciso mesmo disso?

Isso irar depender do tipo de trabalho que você deseja fazer, algumas pessoas gostam de torna seus trabalhos de Excel em uma especie de”Planilhas Inteligentes” e essa ferramente nos ajuda em algumas atividades que são muito útil para quem deseja fazer esse tipo de trabalho.

Eu por exemplo gosto de usar o list-box como caixa de pesquisa ou seja, tenho um formulário e nele a list-box com vários dados da planilha, nela eu aplico um código que permite realizar pesquisas avançadas.

Vantagens e Desvantagens  ao usar o list-box

Eu uso bastante o list-box nos meus trabalhos porque ele deixa minhas planilhas mais profissionais, mas porque vantagens e desvantagens ao usar o list-box?

A vantagem de você usar o list-box é que ele é muito útil para quem precisa realizar listagem de dados sem ter que usar a propiá planilha para isso, só que porem ele possui umas limitações e que para determinados tipos de trabalho ele “não servira”.

Uma dessas limitações é, você só pode ter dentro da list-box 10 colunas , ou seja, se a sua planilha possuir mas de 10 colunas de dados o list-box apenas poderá listar 10 dessas colunas e isso certamente nos deixa limitados.

Existem muitas feras em programar em vba, eu mesmo já ouvi de um amigo que ele conseguiu usar mais de 10 colunas no controle listbox, não me pergunte como. Eu não fui a fundo com essa convença mas acredito que isso possa ser verdade.

A outra limitação é:

A quantidade de dados que você possui dentro de sua planilha…

Na verdade não é bem uma limitação você pode ter dados dentro da list-box ate a ultima linha da planilha o problema é que:

Quanto mas dados dentro da sua planilha, mas pesado ficará na hora de carregar esses registros para o listbox , e isso certamente ao meu modo de ver é uma limitação.

Para adiciona o list-box em seu formulário vá em ferramentas.

 

 

Click no ícone do list-box e em seguida clicar sobre o formulário e ajuste o tamanho ao seu gosto.

 

 

Aplicando o código ao list-box

Abra o Excel vba adicione um novo formulário uma text-box e o list-box  e ajuste o seu tamanho.

 

 

Na propriedades da list-box vamos mudar o columnCount para o numero 3…

O que seria o columnCount?

Ele é a numeração de colunas que você terá dentro da list-box ou seja, se você tiver 10 colunas na planilha você adiciona o numero 10 no columnCount, no meu caso tenho apenas 3 colunas e por isso numerei para o numero 3.

 

Pesquisa de Formulário avançada no listbox com VBA Excel

Pesquisa de Formulário avançada no listbox com VBA Excel

Na Plan1 vamos coloca o seguintes campos:  Nome,Telefone  e Celular , e preenche-los  com  alguns dados.

 

Pesquisa de Formulário avançada no listbox com VBA Excel

 

Em seguida em inserir vamos adiciona um novo módulo.

 

Pesquisa de Formulário avançada no listbox com VBA Excel

 

Copie o código a baixo e cole dentro do módulo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
TextoDigitado = UserForm1.TextBox1.Text
Range(“a1”).Select
Dim ws As Worksheet
Dim Linha As Integer
Dim linhalistbox As Integer
Dim TextoCelula As String
Set ws = ThisWorkbook.Worksheets(“plan2”)
Linha = 1
linhalistbox = 0
UserForm1.ListBox1.Clear
With ws
While .Cells(Linha, 1).Value <> Empty
TextoCelula = .Cells(Linha, 2).Value
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
With UserForm1.ListBox1
.AddItem
.List(linhalistbox, 0) = Sheets(“plan2”).Cells(Linha, 1)
.List(linhalistbox, 1) = Sheets(“plan2”).Cells(Linha, 2)
.List(linhalistbox, 2) = Sheets(“plan2”).Cells(Linha, 3)
.List(linhalistbox, 3) = Sheets(“plan2”).Cells(Linha, 4)
.List(linhalistbox, 4) = Sheets(“plan2”).Cells(Linha, 5)
.List(linhalistbox, 5) = Sheets(“plan2”).Cells(Linha, 6)
.List(linhalistbox, 6) = Sheets(“plan2”).Cells(Linha, 7)
.List(linhalistbox, 7) = Sheets(“plan2”).Cells(Linha, 8)
.List(linhalistbox, 8) = Sheets(“plan2”).Cells(Linha, 9)
.List(linhalistbox, 9) = Sheets(“plan2”).Cells(Linha, 10)
linhalistbox = linhalistbox + 1
End With
End If
Linha = Linha + 1
Wend
End With

 

Dê um duplo clique dentro da text-box e no canto superior direito vamos adiciona o evento KeyUp.

 

 

 

Pesquisa de Formulário avançada no listbox com VBA Excel

 

Dentro do evento keyUp vamos chamar o nome da sub que fizemos no módulo, No meu caso é pesquisanome.

 

Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel

Agora de um duplo Click dentro do formulário e no canto superior direito vamos mudar para o evento initialize e novamente chama a nossa sub dentro desse evento.

Vamos usar o evento para que o formulário ao inicializar ele automaticamente carregue os dados da sua planilha para o list-box.

 

Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel

Agora basta executar o trabalho e pronto já estará funcionando.

 

Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel
Pesquisa de Formulário avançada no listbox com VBA Excel

Pesquisa de Formulário avançada no listbox com VBA Excel

Teve alguma duvida sobre como fazer esse procedimento? click no botão e baixe a planilha de referencia do artigo!

[sociallocker id=”4922″]

Sobre o autor | Website



Por gentileza, se deseja alterar o arquivo do rodapé,
entre em contato com o suporte.
google.com, pub-3449874674717021, DIRECT, f08c47fec0942fa0