Este es una forma de filtrar un ComboBox revisalo a ver si te sirve
Option Explicit
Dim ComboBorrado As Boolean
Private Sub Combo_KeyDown(KeyCode As Integer)
If KeyCode = vbKeyDelete Then
ComboBorrado = True
Else
ComboBorrado = False
End If
End Sub
Private Sub Combo_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyBack Then
ComboBorrado = True
Else
ComboBorrado = False
End If
End Sub
Private Sub Combo_Change(ByVal Text As String, Combo As ComboBox)
Dim i As Integer, j As Integer
If Not ComboBorrado Then
j = Len(Text)
With Combo
For i = 0 To .ListCount - 1
If StrComp(Text, Left$(.List(i), j), 1) = 0 Then
.ListIndex = i
.Text = .List(.ListIndex)
.SelStart = j
.SelLength = Len(.Text) - .SelStart
Exit For
End If
Next
End With
End If
End Sub
Private Sub Combo1_Change()
Static valor As Boolean
On Local Error Resume Next
If Not valor Then
valor = True
Combo_Change Combo1.Text, Combo1
valor = False
End If
Err = 0
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
Combo_KeyDown KeyCode
End Sub
Private Sub Combo1_KeyPress(KeyAscii As Integer)
Combo_KeyPress KeyAscii
End Sub
Me dices si te sirvio...