Limpar listbox se t...
 
Notifications
Clear all

Limpar listbox se textbox estiver sem texto

7 Posts
3 Usuários
0 Reactions
1,865 Visualizações
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Tenho uma textbox1 que uso como filtro para pesquisar dados que são carregados em minha listbox1, meu problema é que ao digitar textos na textbox e depois limpar, a minha listbox acaba carregando todos os dados, isso tem tornado o meu modo de pesquisa "lento"

oque posso fazer para que minha busca seja mais rápida?

acredito que se toda vez que minha textbox for = "" a minha listbox.clear, talvez assim poderia resolver, mas como posso atribuir em código?

Welington Gonçalves

 
Postado : 16/10/2013 6:41 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

wfranca,

Compacte seu arquivo e anexe o mesmo aqui.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 16/10/2013 7:55 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Franca, no achometro; o melhor e fazer e anexar um modelo, conforme o colega Morel disse; mas provavelmente no evento change ou similar da sua Txt está disparando a rotina do filtro, então ai pode ser adicionadp um Se (+/- assim)
If suatxt.text <>"" then
executa o filtro
end if

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/10/2013 8:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Franca, minha bola de cristal está em sintonia com a do Reinaldo, então seguindo pela mesma obs do colega, supomos que a rotina filtro está sendo executada no evento Change do Textbox, então é só acrescentar :

ListBox1.Clear - para limpar o Listbox
E depois a condição :
If TextBox1.Value = "" Then Exit Sub - Se o txtbox estiver vazio sai da rotina.

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 16/10/2013 8:48 am
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Pessoal segue meu modelo exemplo...

tentei adptar na minha texbox... mas fazendo essa adaptação o meu listbox não é carregado..

Welington Gonçalves

 
Postado : 17/10/2013 8:31 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Creio que poderia ser +/- assim:

Private Sub TextBoxFiltro_Change()
If Me.ComboBoxCampos.ListIndex <> -1 And TextBoxFiltro.Text <> "" Then
     Call PreencheLista(TextBoxFiltro.Text)
Else
    Me.ListBoxLista.Clear
End If
End Sub

Se a Combo e o Text forem diferente de "Vazio" filtra, senão limpa o listbox.
Quanto a demora, crei eu ser pela maneira de preenchimento do listbox,
a cada caracter digitado no textbox é disparada a rotina "Preenchelista", que por sua vez chama PreencheCabecalho, que em suas rotinas percorrem as colunas existentes (são 12 porem como utiliza o usedrange, e considerado até coluna N quetemum valor em N3, então chega a 14).O que dá um efeito exponencial à consulta.
No anexo, efetuei algumas alterações, que aparentemente melhoram um pouco a "coleta" das informações, talvez lhe auxilie

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/10/2013 7:25 am
wfranca
(@wfranca)
Posts: 297
Reputable Member
Topic starter
 

Boa Reinaldo... assim ajudou muito.

Welington Gonçalves

 
Postado : 18/10/2013 2:35 pm