Cara, não vim te dar a resposta para a dúvida, só quis passar para deixar um leve comentário.
Não sei se você está fazendo isso por aprendizado ou para alguma ferramenta do trabalho. Se for para ferramenta do trabalho eu aconselho não fazer, não é computacionalmente eficiente e só vai travar a sua aplicação, consome muito processamento o código ler toda a sua matriz e carregar para a listbox toda vez que você digitar uma nova letra.
Eu precisei adaptar isso à um projeto no trabalho e eu acabei fazendo com que pesquise somente quando eu pressionar o botão de consulta, assim não consome muito a sua aplicação.
Estou anexando uma foto de como fica e a baixo coloco o código que fiz para o botão de pesquisa, veja se consegue entender e adaptar para o seu caso, se achar interessante.
Private Sub Pesquisar_Click()
Dim cotacoes_unicas As New Collection
Dim celly As Range
lista_pesquisa.Clear
Application.ScreenUpdating = False
SAP.Range("tb_sap[Num_Cotacao]").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
For Each celly In SAP.Range("tb_sap[Num_Cotacao]").SpecialCells(xlCellTypeVisible)
cotacoes_unicas.Add celly.Value
Next celly
SAP.ShowAllData
SAP.Range("tb_sap").AutoFilter
Application.ScreenUpdating = True
If pesquisar_por.Value = "" Then
For k = 1 To cotacoes_unicas.Count
lista_pesquisa.AddItem cotacoes_unicas(k)
Next k
Else
For p = 1 To cotacoes_unicas.Count
If InStr(1, cotacoes_unicas(p), Trim(pesquisar_por.Value)) Then
lista_pesquisa.AddItem cotacoes_unicas(p)
End If
Next p
End If
End Sub
Se a resposta lhe foi útil, clique no joinha!
Postado : 24/07/2018 2:54 pm