VBA Excel Filtrar Búsqueda de Un LixtBox con un TextBox

Hola Expertos,

Les traigo un problema que me surgió y que por el momento esta algo fuera de mis capacidades

Tengo un Userform con un ListBox y Etiquetas (Label), con lo siguiente:

En la propiedades del ListBox tengo:

ColumnCount: 5

RowSource: Hoja1!D9:H29 'Que es mi tabla seleccionada de la Hoja de Excel

En la Sintaxis de mi ListBox1 tengo lo siguiente:

Private Sub ListBox1_Change()
Dim SourceData As Range
Dim Val1 As String, Val2 As String, Val3 As String, Val4 As String, Val5 As String
Set SourceRange = Range(ListBox1.RowSource)
Val1 = ListBox1.Value
Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value
Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value
Val4 = SourceRange.Offset(ListBox1.ListIndex, 3).Resize(1, 1).Value
Val5 = SourceRange.Offset(ListBox1.ListIndex, 4).Resize(1, 1).Value

Label2.Caption = Val1
Label6.Caption = Val2
Label9.Caption = Val3
Label12.Caption = Val4
Label15.Caption = Val5

End Sub

La finalidad de la sintaxis de arriba es que cuando se selecciona un elemento de la tabla ya sea de la columna 0, 1, 2, 3, ó 4 me aparezcan en las etiquetas Label2, Label6, Label9, Label12, y Label15 los valores relacionados con el elemento seleccionado de cada una de las columnas de la tabla.

Ahora bien, todo por el momento funciona bien, pero se me ocurrió y me pregunto si se puede agregar un TextBox en el cual al escribir en el, se reduzca la tabla en el ListBox1 de los elementos con el texto relacionado ya sea de la columna 1, 2 ... 5, y mientras mas completo sea el texto menor sea la tabla, y que al seleccionar el elemento filtrado de la tabla siga cumpliendo su función

Ejemplo:

Al escribir "a" aparezca "Ardilla, Árbol, Aceituna, Antídoto", luego al poner "ar" aparezca "Ardilla y Árbol" y al poner "Ard" solo aparezca "ardilla" y al seleccionar este elemento me aparezcan todas su propiedades

Espero me puedan ayudar y a la vez haya sido claro en mi expresión para solucionar esta duda y saber si se puede hacer

Saludos

Añade tu respuesta

Haz clic para o