Cómo llenar un control de tipo lista en base a un cuadro de texto.

Tengo un archivo como el que se muestra arriba. En una «Hoja1» tengo una lista de datos. En la «Hoja 2» tengo los datos, pero tienen elementos duplicados. Necesito un control que, como se muestra en la «Hoja 3», me muestre los elementos que coinciden en la «Hoja 2» con lo que incluyo en el cuadro de texto.

Puedo usar el siguiente código:

Private Sub TextBox1_Change()

Dim v_i As Integer

ListBox1.Clear

For v_i = 1 To 1000

If Sheets(«Hoja2»).Cells(v_i, 2) = TextBox1.Value Then

ListBox1.AddItem Sheets(«Hoja2»).Cells(v_i, 3)

End If

Next v_i

End Sub

El código se ejecuta cada vez que tecleamos algo en el control TextBox1.
Limpia el contenido de ListBox1.
Revisa mil renglones de la «Hoja 2» para ver si coincide con alguno en la columna 2.
Si coincide, añade un elemento al control ListBox1, pero usa la columna 3.

Listo.

Espero que les sirva.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*