Busca rápida em uma Caixa de Listagem usando API.  

Só para você sentir a força das API´s vamos mostrar como efetuar uma busca rápida em uma caixa de listagem.

Código da seção General Declarations: (para usar um módulo remova a clausula Private na declaração da função e troque a mesma cláusula  por Public na definição da constante)        

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As _
Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

Private Const LB_FINDSTRING = &H18F

Código atribuído ao evento Change da ListBox:

Private Sub Text1_Change()
   List1.ListIndex = SendMessage(List1.hwnd, LB_FINDSTRING, -1, ByVal CStr(Text1.Text))
End Sub

Carregue alguns dados na Caixa de listagem:

Private Sub Form_Load()
 List1.AddItem "Ana Bueno Silva"
 List1.AddItem "Ana Buena Sá"
 List1.AddItem "Ana Carla Se"
 List1.AddItem "Ana Lima Junior"
 List1.AddItem "Ana Maria Ribeiro"
 List1.AddItem "Ana Marta Olten"
 List1.AddItem "Ana Lucia Godoy"
End Sub

Ponha o foco na caixa de texto:

Private Sub Form_Activate()
  Text1.SetFocus
End Sub

Rode o projeto e digite um nome na caixa de texto. A medida que você for digitando o item na caixa de listagem será selecionado a medida que os caracteres coincidirem.

Fácil , Fácil...