En primer lugar un listbox solo soporta la carga de 10 columnas, con la instrucción AddItem
El truco para llenar más columnas es asignándole un rango completo en su propiedad RowSource.
Por ej:
ListBox1.RowSource = "=Hoja1!A1:S200"
Entonces, para tu buscador lo que debes hacer es contar con una hoja auxiliar donde se irán volcando todas las filas encontradas, y luego ese rango resultante asignárselo al listbox.
Ajusta el nombre de tu hoja auxiliar (tendrás que tenerla creada en este caso).
Ajusta el nombre de tus controles: textbox, listbox y commandbutton utilizado para disparar la búsqueda.
Private Sub CommandButton1_Click()
'x Elsamatilde
'impedir el movimiento de hojas
Application.ScreenUpdating = False
'limpiar la hoja auxiliar. La primer fila para el pegado será 1
On Error GoTo sinAuxilio
Sheets("HojaAux").Cells.Clear
filx = 1
On Error GoTo 0
'buscar el texto en todas las hojas. Si lo encuentra lo agrega en hoja auxiliar
For Each sh In Sheets
'omite la hoja auxiliar
If sh.Name = "HojaAux" Then GoTo sigo
On Error GoTo sigo
'se contempla posible error al intentar seleccionar la hoja
sh.Select
[A1].Select
On Error GoTo 0
On Error Resume Next
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
'se contempla posible error de no coincidencia
If Err.Number > 0 Then
On Error GoTo 0: GoTo sigo
End If
'copia la fila entera en hoja auxiliar e incrementa el nro de fila
Range("A" & ActiveCell.Row).EntireRow.Copy Destination:=Sheets("HojaAux").Range("A" & filx)
filx = filx + 1
sigo:
'pasa a otra hoja para continuar la búsqueda
Next sh
'se verifica si hubo resultados. en ese caso se asigna el rango completo al listbox de 19 col
Sheets("HojaAux").Select
If Application.WorksheetFunction.CountA(Cells) = 0 Then
MsgBox "No se encontraron datos " & TextBox1 & " en el libro."
Exit Sub
End If
ListBox1.ColumnCount = 19
ListBox1.RowSource = "=HojaAux!A1:S" & filx - 1
Exit Sub
sinAuxilio:
MsgBox "No se encontró la hoja auxiliar ('HojaAux'). Debes crearla y luego ejecutar nuevamente el proceso."
End Sub
Probala y si resuelve tu consulta no olvides valorarla (Excelente o Buena) para darla por cerrada.
Sdos!