Buscar datos con botón, textbox y listbox excel

Tengo un pequeño problema que no puedo resolver y espero me ayuden. Tengo un formulario que tiene un textbox1, textbox2. Textbox3, textbox4, textbox5, un botón y un listbox. Además tengo una Hoja4 llamada "Acopiadores", lo que quiero es que al poner una Palabra en el textbox1 y dándole click al botón, me busque todos los nombres con esa palabra (Rango C3:C) y los ponga en el listbox. Y al escoger un nombre del listbox, me agregue dato de la columna B en el textbox2, la columna DE en textbox3, columna I en textbox4 y la columna J en textbox5

Les envío una muestra de la hoja:

1 Respuesta

Respuesta
2

H o l a:

Te anexo el código para cargar en el listbox1, para ello se va a utilizar la hoja "temporal", también te anexo el código para que cuando selecciones un registro del listbox, se llenen los textbox.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    ListBox1.RowSource = ""
    ListBox1.ColumnHeads = True
    ListBox1.ColumnCount = 10
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    '
    If TextBox1 = "" Then Exit Sub
    Set h1 = Sheets("Acopiadores")
    Set h2 = Sheets("temporal")
    h2.Cells.Clear
    h1.Rows(2).Copy h2.Rows(2)
    j = 3
    Set r = h1.Range("C3:C" & h1.Range("C" & Rows.Count).End(xlUp).Row)
    Set b = r.Find(TextBox1, lookat:=xlPart)
    If Not b Is Nothing Then
        ncell = b.Address
        Do
            'detalle
            h1.Rows(b.Row).Copy h2.Rows(j)
            j = j + 1
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> ncell
        u = h2.Range("C" & Rows.Count).End(xlUp).Row
        ListBox1.RowSource = h2.Name & "!A3:J" & u
    Else
        MsgBox "No existen nombres con esa palabra"
    End If
End Sub
'
Private Sub ListBox1_Click()
'Por.Dante Amor
    Set h1 = Sheets("Acopiadores")
    nom = ListBox1.List(ListBox1.ListIndex, 1)
    Set b = h1.Columns("B").Find(nom, lookat:=xlWhole)
    If Not b Is Nothing Then
        TextBox2 = h1.Cells(b.Row, "B")
        TextBox3 = h1.Cells(b.Row, "D")
        TextBox4 = h1.Cells(b.Row, "I")
        TextBox5 = h1.Cells(b.Row, "J")
    End If
End Sub

':)
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas