Como puedo filtrar datos en un lisbox mediante dos textbox. Necesito filtrar la columna descripcion y unidad.

Dante amor. Necesito ayuda para hacer un doble filtrado en un lisbox. Necesito filtrar la columna despcripcion mediante un texbox y la columna unidad mediante otro textbox al mismo tiempo. Y que en el lisbox aparezcan los datos de las dos columnas que se estan filtrando.(Sin encabezados). Cual seria su correo para enviarte el archivo de excel.

1 respuesta

Respuesta
1

Envíame tu archivos con ejemplos

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “juan00784 .

Por el momento no tengo ejemplos pork nose como se hace doble filtrado. Lo q he hecho es un textbox que filtre los datos de la columna descripcion de la hoja "materiales" y estos datos filtrados aparezcan en el listbox. Hasta aqui no tengo problema pero con la finalidad de hacer una busqueda mas avanzada quiero hacer otro textbox en el mismo userform parecido al primero que ya hice, pero que ahora filtre por la columna unidad. Todo esto con el fin de que en el listbox en una columna aparezca el dato filtrado de acuerdo al textbox1 y en la segunda columna aparezca el dato filtrado de acuerdo al textbox2; no me importa el orden de prioridad del filtrado. Para que tenga una mejor idea haga de cuenta que en la columna descripcion tengo marcas de celulares(samsums, apple, hawei). Yo quiero que cuando escriba samsums en un textbox en una una columna del listbox me aparezca la palabra samsung. Pero esta palabra se repitira varias veces pork esta repetida en la columna descripcion de la hoja materiales.hasta aqui he hecho la programacion. Pero el paso siguiente es el problema. Como me aparecen varias veces la palabra samsumg en la primera columna del listbox quiero hacer otro filtrado por medio de un textbox 2 pero que filtre ahora por medio de la columna unidad que esta tambn en la hoja "materiales". Haga de cuenta que la columna unidad es el color del celular. En conclusion; quiero que aparezca en el listbox del userform dos columnas. Una que diga samsum y en la otra columna que diga azul al momento de hacer lo siguiente:

copio en el textbox1 samsums. En el textbox 2 copio azul. 

Ya le envio el excel en el que quiero hacer esto

Lo que quiero en el ejemplo es tu información y en una hoja un ejemplo de los datos filtrados.

Ya te envíe el excel.

Te anexo el código para los 2 textbox

Private Sub TextBox1_Change()
    Filtrar_Material
End Sub
Private Sub TextBox2_Change()
    Filtrar_Material
End Sub
Sub Filtrar_Material()
'Por Dante Amor
    Set h1 = Sheets("MATERIALES")
    ListBox1.Clear
    For i = 5 To h1.Range("B" & Rows.Count).End(xlUp).Row
        If TextBox1.Value = "" Then t1 = h1.Cells(i, "B") Else t1 = TextBox1.Value
        If TextBox2.Value = "" Then t2 = h1.Cells(i, "D") Else t2 = TextBox2.Value
        If LCase(h1.Cells(i, "B").Value) Like "*" & LCase(t1) & "*" And _
           LCase(h1.Cells(i, "D").Value) Like "*" & LCase(t2) & "*" Then
            ListBox1.AddItem h1.Cells(i, "B").Value
            ListBox1.List(ListBox1.ListCount - 1, 1) = h1.Cells(i, "D").Value
            ListBox1.List(ListBox1.ListCount - 1, 2) = i
        End If
    Next
End Sub

.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas