Notifications
Clear all

Otimizar Pesquisa VBA

5 Posts
2 Usuários
0 Reactions
734 Visualizações
(@aoc0301)
Posts: 3
New Member
Topic starter
 

Caros Amigos.

preciso muito da ajuda de VCS.. não sou muito bom em VBA, precisava de um código para ajudar com trabalho que faço onde uso um textbox e listbox, encontrei um código num site holandes que me ajuda,, porém tem um detalhe quando digito no textbox para localizar a informação que preciso, digito e demora de preencher dentro do textbox.... existe alguma forma de otimizar este código para melhorar a busca?

desde já agradeço a ajuda de vcs...

em anexo segue o arquivo modelo...

 
Postado : 11/03/2017 7:44 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia AOC,

Vê se ajuda:

Private Sub TextBox1_Change()
Dim wsSyng  As Worksheet
Dim sCrit1  As String
Dim Largura As Long
Dim i       As Long
Dim a

    Set wsSyng = ThisWorkbook.Worksheets("CD_Syngenta")
    
    'vul listbox1 met alleen de mogelijke CD_Syngenta
    With wsSyng
        a = .Range("a2", .Range("a" & Rows.Count).End(xlUp)).Value
    End With

Inicia:
    Largura = Len(TextBox1.Text)
    sCrit1 = UCase(TextBox1.Text) & "*"
    sCrit2 = "* " & UCase(TextBox1.Text) & "*"
    
    With ListBox1
        .Clear 'leegmaken
        .List = a 'vullen met alle CD_Syngenta
        'CD_Syngenta die niet voldoen verwijderen
        For i = .ListCount - 1 To 0 Step -1
            DoEvents
            If Not Largura = Len(TextBox1.Text) Then GoTo Inicia
            If Not ((UCase(.List(i)) Like sCrit1) Or (UCase(.List(i)) Like sCrit2)) Then
                .RemoveItem i
            End If
        Next i
    End With

    Set wsSyng = Nothing

End Sub

Qualquer coisa da o grito.
Abraço

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

 
Postado : 13/03/2017 6:23 am
(@aoc0301)
Posts: 3
New Member
Topic starter
 

Bom dia, Bernardo.

Desde já agradeço por dedicar um pouco do seu tempo para ajudar.

meu amigo substitui o código que estava por este que vc sugeriu mais não deu certo.... veja no anexo, quando digito "ZAPP" não apresenta os produtos relacionados a este novo, e da a impressão que fica procurado pelo movimento que apresenta no LISTBOX...

forte abraço

 
Postado : 13/03/2017 9:04 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

AOC,

Aqui está normal...
Não mexi muito na lógica da busca nem nada...
Apenas acrescentei algumas coisas... De resto, a lógica, o método de busca e tudo continua original...
Notei que o código contém alguns probleminhas devido a quantidade de voltar que dá e por não tratar de algumas situações...

Qualquer coisa da o grito.
Abraço

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

 
Postado : 13/03/2017 10:35 am
(@aoc0301)
Posts: 3
New Member
Topic starter
 

então me expressei mal... ma na verdade quando digita no textbox.. esta normal não esta demorando.... o problema é para apresentar o resultado que demora um pouco... sabe o que pode ser feito no código para melhorar? tipo quando digita determinado produto ele ja ir apresentando os encontrado?

obrigado mais uma vez

 
Postado : 13/03/2017 12:16 pm