効率の良い方法では無いですが、、、こんな感じでしょうか?
UserForm に ListBox と TextBox を1個ずつ置いて試しました。(Excel2000)
'------------------------------------------------------------
Private Sub UserForm_Initialize()
Dim i As Integer, j As Integer, k As Integer
For i = 97 To 100
For j = 97 To 100
For k = 97 To 100
ListBox1.AddItem Chr(i) & Chr(j) & Chr(k)
Next k
Next j
Next i
TextBox1.SetFocus
End Sub
'------------------------------------------------------------
Private Sub TextBox1_Change()
Dim s As String, i As Long
On Error GoTo ER
For i = 0 To ListBox1.ListCount - 1
s = Left(ListBox1.List(i), Len(TextBox1.Value)) & "*"
If TextBox1.Value Like s Then
ListBox1.ListIndex = i
Exit For
End If
Next i
ER:
End Sub
'------------------------------------------------------------
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ActiveSheet.Range("A1").Value = ListBox1.List(ListBox1.ListIndex)
End Sub