H o l a:
Te anexo la macro para filtrar las hojas.
Consideraciones que debes tomar en cuenta:
1. En la celda C3 poner una fecha
2. En la celda C2 poner el Título, por ejemplo, si en los encabezados de las 28 hojas en la celda A5 dice: "Fecha", entonces en la celda C2 deberás poner la palabra "Fecha".
3. Si no puedes poner la palabra "Fecha" en la celda C2, dime hasta dónde llegan tus datos de impresión para ocupar dos celdas y que no se impriman.
4. ¿Desde cuál celda y hasta cuál columna quieres que la información se imprima?
5. Esta línea de la macro esta deshabilitada, cuando se ajuste la macro con los puntos anteriores, la puedes habilitar para que el reporte se imprima
'h1. PrintOut
Sub ReporteDeCaptura()
'Por.Dante Amor
Application.ScreenUpdating = False
Set h1 = Sheets("reporte de captura")
h1.UsedRange.Offset(7, 0).ClearContents
If h1.[C3] = "" Or Not IsDate(h1.[C3]) Then
MsgBox "Escribe una fecha válida en la celda C3", vbCritical, "ERROR"
h1.[C3].Select
Exit Sub
End If
'
For Each h2 In Sheets
If h2.Name <> h1.Name Then
If h2.FilterMode Then h2.ShowAllData
If h2.AutoFilterMode Then h2.AutoFilterMode = False
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
h2.Range("A5:H" & u2).AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=h1.Range("C2:C3"), Unique:=False
u2 = h2.Range("A" & Rows.Count).End(xlUp).Row
If u2 > 5 Then
h2.Range("A6:H" & u2).Copy
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
If u1 < 8 Then u1 = 8
h1.Range("A" & u1).PasteSpecial xlValues
End If
End If
Next
h1.[C3].Select
u1 = h1.Range("A" & Rows.Count).End(xlUp).Row
h1.PageSetup.PrintArea = "A1:H" & u1
'h1.PrintOut
Application.ScreenUpdating = True
MsgBox "Reporte terminado", vbInformation, ""
End Sub