Problema con macro para imprimir

Tengo una macro que utilizo para imprimir una hoja desde otra, pero con un pequeño inconveniente, paso a explicar.

Desde una hoja desbloqueada (para que el usuario pueda cargar datos) coloque un botón para ejecutar la macro que me imprime el reporte: otra hoja llamada "ORIGINAL" que prefiero que permanezca además de bloqueada, oculta. Pero siempre luego de ejecutar la macro, el libro de excel queda activo en la hoja que imprimió. Y si quiero ocultarla, al ejecutar la macro me da error.

Aquí la macro:

Sub Imprimir_Click()
Dim Resp As Byte
Resp = MsgBox("¿Seguro desea Imprimir?", _
    vbQuestion + vbYesNo, "ATENCION")
If Resp = vbYes Then
    Sheets("ORIGINAL").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    ActiveWindow.Application.ActiveWorkbook.Save
    Else
    MsgBox "Se eligió cancelar...", vbInformation, "INFORMACION"
End If
End Sub

Habra alguna forma de hacer que no de error si oculto la hoja "ORIGINAL"?

Desde ya muchas gracias! Y saludos.

1 respuesta

Respuesta
1

Federico Paz te paso a dar la solución a tu problema, solo agrega a tu código las líneas que están en negrita.

Sub Imprimir_Click()
Dim Resp As Byte
Application.ScreenUpdating = False

Sheets("ORIGINAL").Visible = xlSheetVisible 'MUESTRA LA HOJA
Sheets("ORIGINAL").Unprotect Password:="CONTRASEÑA" 'aca la contraseña para desbloquear

Resp = MsgBox("¿Seguro desea Imprimir?", _
vbQuestion + vbYesNo, "ATENCION")
If Resp = vbYes Then
Sheets("ORIGINAL").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Application.ActiveWorkbook.Save
Else
MsgBox "Se eligió cancelar...", vbInformation, "INFORMACION"
End If
Sheets("ORIGINAL").Protect Password:="CONTRASEÑA" 'aca la contraseña para bloquear
Sheets("ORIGINAL").Visible = xlVeryHidden 'OCULTA LA HOJA
Application.ScreenUpdating = True

Sheets("Hoja1").Activate
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas