Paso datos listbox a textbox macro

Recuro a vosotros por mi inexperiencia en macros,

HE encontrado esta macro y se ajusta muy bien a lo que necesito, pero necesito unos pequeños ajustes.

Adjunto Excel y Word.

https://ydray.com/get/l/aRy0MDc0NDI24712044DI3/hQpZMjQ3MTIw403Gd 

1 respuesta

Respuesta
1

[Hola 

Te paso la macro actualizada para buscar, lo pones en el evento change de Textfiltro.

Private Sub txtFiltro1_Change()
'
'[Act. Por Adriel Ortiz
'
txtFiltro1 = UCase(txtFiltro1)
    Set h5 = Sheets("Hoja1")
    ListBox1.Clear
    For i = 3 To h5.Range("B" & Rows.Count).End(xlUp).Row
        cad = h5.Cells(i, "A") & UCase(h5.Cells(i, "A")) & h5.Cells(i, "B") & UCase(h5.Cells(i, "B")) & h5.Cells(i, "C") & UCase(h5.Cells(i, "C")) & h5.Cells(i, "D") & UCase(h5.Cells(i, "D"))
        If cad Like "*" & UCase(txtFiltro1) & "*" Then
            With ListBox1
                .AddItem h5.Cells(i, "A")
                .List(.ListCount - 1, 1) = h5.Cells(i, "B")
                .List(.ListCount - 1, 2) = h5.Cells(i, "C")
                .List(.ListCount - 1, 3) = h5.Cells(i, "D")
            End With
        End If
    Next
End Sub

y esto para mostrar datos del listbox al textbox, pon esto en el evento click del listbox, la búsqueda es para las cuatro columnas.

Private Sub ListBox1_Click()
'
'Act. Por Adriel ortiz
'
TextBox1 = ListBox1.List(ListBox1.ListIndex, 0)
TextBox2 = ListBox1.List(ListBox1.ListIndex, 1)
TextBox3 = ListBox1.List(ListBox1.ListIndex, 2)
TextBox4 = ListBox1.List(ListBox1.ListIndex, 3)
End Sub

tu formulario queda así 


Gracias por tu respuesta.

He probado y la búsqueda la hace en todo el rango, cuando lo que necesito es que busque el dato en la columna seleccionada.

Faltaria pasar el dato de cantidad retirada que seleccione a la celda correspondiente de la columna E

Muchas gracias por la ayuda

Entonces regresa a tu macro anterior de la búsqueda y cambia el combobox por listbox para seleccionar la columna a buscar.

Pon esta macro en form activate, y cambia el nombre del listbox por el tuyo.

Private Sub UserForm_Activate()
'
'''Por Adriel Ortiz
'
ListBox11.ListStyle = fmListStyleOption
col = Array("N°", "Nombre", "Edad", "Ciudad")
For i = 0 To UBound(col)
ListBox11.AddItem col((i))
Next i
End Sub

para que agregues otra columna en tu listbox para el listado, y se muestre la cantidad retirado

cambié 4 por 5 y más el ancho de la columnas

Private Sub UserForm_Initialize()
'
With Me
    .ListBox1.ColumnCount = 5
    .ListBox1.ColumnWidths = "60 pt;60 pt;60 pt;60 pt;60 pt"
 End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas