Macro para imprimir todas las pestañas de un libro

Estoy creando una macro para imprimir todas las pestañas de un libro tomo de ejemplo una macro que vi en este sitio pero al momento de ejecutarla me manda a imprimir solo la hoja inicial el mismo numero de veces que hay de hojas en el libro

Sub Imprimir()

Dim ws As Worksheet
For Each ws In Worksheets

'Aquí pon tu otra macro

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next

End Sub

1 Respuesta

Respuesta
2

Quedaría así:

Sub Imprimir()
    Dim ws As Worksheet
    For Each ws In Worksheets
        ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
    Next
End Sub

Sal u dos

Me manda un error de tipo 1004 error en el método 'PrintOut' de objeto '_Worksheet'

  ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

Me sombrea esta línea

Eso es porque tienes hojas ocultas.

Para no imprimir las hojas ocultas

Sub Imprimir()
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Visible = xlSheetVisible Then
            ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
        End If
    Next
End Sub

Si también quieres imprimir las hojas ocultas:

Sub Imprimir()
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Visible = xlSheetVisible Then
            ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
        Else
            actual = ws.Visible
            ws.Visible = xlSheetVisible
            ws.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
            ws.Visible = actual
        End If
    Next
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas