Buscar y filtrar información de diferentes hojas a una

Tengo varias hojas de excel llenas de datos (hoja2, hoja3, hoja4... Hasta hoja15, aunque puede seguir creciendo), y necesitaría un macro que este en otra hoja de excel (hoja1) y que al introducir una palabra busque en todas las celdas de todas las hojas y filtre las filas que contengan la palabra. En la hoja1 me muestre un listado con las filas que contenían la palabra.

Seria un macro similar al que se posteo aquí: Buscar y filtrar información de una hoja a otra, aunque con varias hojas donde se busca la información.

1 Respuesta

Respuesta
1

H o l a:

Te anexo la macro actualizada para que busque de la hoja 2 en adelante

En la "Hoja1" en la celda "B2" escribe el dato que quieras buscar. La macro te pondrá el resultado en la "Hoja1" a partir de la fila 4.

Sub BuscaryFiltrar()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    h1.UsedRange.Offset(3, 0).Clear
    '
    j = 4
    For h = 2 To Sheets.Count
        Set h2 = Sheets(h)
        Set r = h2.Cells
        Set b = r.Find(h1.[B2], lookat:=xlPart)
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                'detalle
                h2.Rows(b.Row).Copy h1.Cells(j, "A")
                j = j + 1
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
    Next
    If j = 4 Then
        MsgBox "No existen registros"
    Else
        MsgBox "Se filtraron " & j - 4 & " registros"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas