H0la Luis:
Disculpa la tardanza.
Suponiendo que tu lisca comienza en la Columna A, categoría es la primera columna de la lista y el encabezado está en la fila 1, puedes utilizar la siguiente Macro y cambiar "Mi hoja" por el nombre de tu hoja.
Sub Imprimir()
'Por GP'
Dim lngFila As Long, i As Long, lngNumFilas As Long
Dim strFiltro As String
Dim h As Worksheet
Application.ScreenUpdating = False
Set h = Sheets("Mi hoja")
dblFila = 2
lngNumFilas = h.Range("A" & dblFila).CurrentRegion.Rows.Count
For i = dblFila To lngNumFilas
If strFiltro <> h.Range("A" & i).Value Then
strFiltro = h.Range("A" & i).Value
h.Range("A" & i).CurrentRegion.AutoFilter Field:=1, Criteria1:=strFiltro
h.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End If
Next
h.UsedRange.AutoFilter
Set h = Nothing
Application.ScreenUpdating = True
End Sub
Me comentas cómo te va con esto.
S@lu2