Si son menos de 10 columnas, puedes hacerlo con el método additem, si son más de 10 columnas entonces puedes hacerlo con la propiedad RowSource.
Un ejemplo con additem:
Private Sub CommandButton1_Click()
'Por.Dante Amor
For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(i, "B") = TextBox1 Then
ListBox1.AddItem Cells(i, "B")
ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(i, "D")
ListBox1.List(ListBox1.ListCount - 1, 2) = Cells(i, "F")
ListBox1.List(ListBox1.ListCount - 1, 3) = Cells(i, "H")
ListBox1.List(ListBox1.ListCount - 1, 4) = i
End If
Next
End Sub
en este ejemplo estoy agregando el número de fila en la columna 4 para identificar el número de fila filtrada de la hoja.
Ejemplo con rowsource:
Private Sub CommandButton1_Click()
'Por.Dante Amor
Set h1 = Sheets("Hoja3")
Set h2 = Sheets("temp")
j = 2
For i = 2 To h1.Range("B" & Rows.Count).End(xlUp).Row
If h1.Cells(i, "B") = TextBox1 Then
h2.Cells(j, "A") = h1.Cells(i, "B")
h2.Cells(j, "B") = h1.Cells(i, "D")
h2.Cells(j, "C") = h1.Cells(i, "F")
h2.Cells(j, "D") = h1.Cells(i, "H")
h2.Cells(j, "E") = i
j = j + 1
End If
Next
u = h2.Range("A" & Rows.Count).End(xlUp).Row
ListBox1.RowSource = h2.Name & "!A2:D" & u
End Sub
En este caso también estoy agregando el número de fila en la hoja "temp" para saber cuál registro de los filtrados es el que estoy cargando en el listbox.
Solamente son ejemplos, deberás adaptarlos a tus datos y poner las columnas que necesitas cargar.
.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.