Búsqueda con varios criterios en Vba - Excel

Quisiera que me ayuden con un codigo en visual con respecto a la busqueda con varios criterios desde un formulario, tengo 3 combobox, 2 textbox y un listbox, lo que necesito es que al darle click a un boton "Buscar" me realize el filtrado de datos ya sea desde cuando el combo1 o el combo2 o combo 3 asi mismo si ingreso un dato en el combo 2 me busque la informacion de forma independiente, y a la vez de forma paralela es decir, elegir un dato del combo1, combo2 combo2 textbox1 le doy buscar y me muestre el resultado en el Listbox.

2 Respuestas

Respuesta
1

Ya te estoy ajustando el ejemplo enviado a mi correo.

Sdos!

PD) Lo siento Dam pero tenía ya iniciado este tema de una consulta anterior, solo que el usuario olvidó indicar que la consulta estaba dirigida a mi nombre.

Perfecto, entonces procedemos según lo acordado... gracias.

Siendo una tabla de más de 15.000 registros y en continuo crecimiento no te será posible con filtros. Y las tablas dinámicas también en algunos casos no te mostrará todos los datos.

Te acabo de devolver el libro con otras propuestas. Analízalas con detenimiento y comentame si vas a avanzar con esto.

Sdos!

Respuesta
1

H o l  a:

Te anexo el código para buscar, hay que adaptar el código a tus columnas. Lo que puse son ejemplos de cómo tienes la información: combo1 - columna A, combo2 - columna B, combo3 - C, textbox1 - D, textbox2 - E.

Lo que hace es cargar de las columnas A la F

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    If ComboBox1 = "" Then d1 = "*" Else d1 = ComboBox1
    If ComboBox2 = "" Then d2 = "*" Else d2 = ComboBox2
    If ComboBox3 = "" Then d3 = "*" Else d3 = ComboBox3
    If TextBox1 = "" Then d4 = "*" Else d4 = TextBox1
    If TextBox2 = "" Then d5 = "*" Else d5 = TextBox2
    ListBox1.Clear
    For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If h1.Cells(i, "A") Like d1 And _
           H1.Cells(i, "B") Like d2 And _
           H1.Cells(i, "C") Like d3 And _
           H1.Cells(i, "D") Like d4 And _
           H1.Cells(i, "E") Like d5 Then
           ListBox1. AddItem h1.Cells(i, "A")
           ListBox1. List(ListBox1.ListCount - 1, 1) = h1.Cells(i, "B")
           ListBox1. List(ListBox1.ListCount - 1, 2) = h1.Cells(i, "C")
           ListBox1. List(ListBox1.ListCount - 1, 3) = h1.Cells(i, "D")
           ListBox1. List(ListBox1.ListCount - 1, 4) = h1.Cells(i, "E")
           ListBox1. List(ListBox1.ListCount - 1, 5) = h1.Cells(i, "F")
        End If
    Next
End Sub

Si requieres que te ayude a adaptar el código explica detalladamente dónde tienes la información, tal vez con una imagen.


' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas