Macro de lista con búsqueda y Autorrelleno

Espero me puedan apoyar tengo una macro que vi en varios lugares en internet, me funciona bien pero quisiera que me limitara las "respuestas" ya que al escribir e ir filtrando se pierde el bloqueo que si da una lista normal de excel.

La macro se adjunta a un control ActivEx, es la siguiente:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Extendoffice: 2020/01/16
Dim xCombox As OLEObject
Dim xStr As String
Dim xWs As Worksheet
Dim xArr
Set xWs = Application.ActiveSheet
On Error Resume Next
Set xCombox = xWs.OLEObjects("TempCombo")
With xCombox
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
End With
If Target.Validation.Type = 3 Then
Target.Validation.InCellDropdown = False
Cancel = True
xStr = Target.Validation.Formula1
xStr = Right(xStr, Len(xStr) - 1)
If xStr = "" Then Exit Sub
With xCombox
.Visible = True
.Left = Target.Left
.Top = Target.Top
.Width = Target.Width + 5
.Height = Target.Height + 5
.ListFillRange = xStr
If .ListFillRange = "" Then
xArr = Split(xStr, ",")
Me.TempCombo.List = xArr
End If
.LinkedCell = Target.Address
End With
xCombox.Activate
Me.TempCombo.DropDown
End If
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 9
Application.ActiveCell.Offset(0, 1).Activate
Case 13
Application.ActiveCell.Offset(1, 0).Activate
End Select
End Sub

EL lado positivo de esta es que se "auto genera" o remplaza a cualquier lista de validación que se tenga en la hoja de excel por lo que no hay que estar haciendo una por una en cada campo requerido si es que se agregan filas al formato.

Adicionalmente quisiera ver la posibilidad de que con cada carácter que se vaya escribiendo en el campo asignado vaya filtrando los posibles resultados (parecido al buscador de google) pero sin perder como dije anteriormente la limitación que da una lista validada

Añade tu respuesta

Haz clic para o