Poe isso em um modulo:
_______________________________________________
#If Win32 Then
Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
#Else
Declare Function SendMessage Lib "User" _
(ByVal hWnd As Integer, ByVal wMsg As Integer, _
ByVal wParam As Integer, lParam As Any) As Long
#End If
Sub SelecionaCombo(cmb As ComboBox, KeyAscii As Integer)
Dim CB As Long
Dim FindString As String
Const CB_ERR = (-1)
Const CB_FINDSTRING = &H14C
If KeyAscii < 32 Or KeyAscii > 127 Then
Exit Function
End If
If cmb.SelLength = 0 Then
FindString = cmb & Chr$(KeyAscii)
Else
FindString = Left$(cmb, cmb.SelStart) & Chr$(KeyAscii)
End If
CB = SendMessage(cmb.hWnd, CB_FINDSTRING, -1, ByVal FindString)
If CB <> CB_ERR Then
cmb.ListIndex = CB
cmb.SelStart = Len(FindString)
cmb.SelLength = Len(cmb) - cmb.SelStart
End If
KeyAscii = 0
End Function
_______________________________________
e isso no evento KeyPress do seu Combo (lembra de deixar o style dele = 0)
_______________________________________
SelecionaCombo(Combo1, keyascii)
'estou supondo q Combo1 seja o nome do combo...
____________________________________________
Acho q isso resolve seu problema...
Se nao funcionar fala ai, q eu vejo se colei alguma coisa errada...
Flw!