Imprimir una hoja excel desde hoja menu

Quisiera imprir una hoja desde un formulario de la hoja menu sin que esta este ACTIVA.

El primer código que puse fue este: y funciona poniendo la hoja activa

Private Sub CommandButton1_Click()
ActiveWorkbook.Sheets("Recibo").Activate
ActiveWorkbook.Sheets("Recibo").Visible = True
Cells(2, 2) = Me.CboLetradoNC
Cells(4, 4) = Me.TxtClient
Cells(5, 4) = Me.TxtID
Cells(7, 4) = Me.TXTtexto
Cells(12, 3) = Me.TxtImporte
Cells(18, 2) = Me.TxtFecha
Cells(25, 5) = Me.TxtFirmado
With Sheets("Recibo").PageSetup
.PrintArea = "A1:G26"
.Orientation = xlLandscape
.PaperSize = xlPaperA5 'formato A5
.BlackAndWhite = False '
.Zoom = False
.FitToPagesTall = 2
.FitToPagesWide = 1
.CenterHorizontally = False
.CenterVertically = False
End With
'imprimir las celdas seleccionadas (n copias)
Sheets("Recibo").PrintOut From:=1, to:=1, Copies:=(Val(Me.TxtNumCopia)), collate:=True

ActiveWorkbook.Sheets("Recibo").Visible = False

ActiveWorkbook.Sheets("Menu").Activate
End Sub

Me petension es imprimir desde MENU sin que la hoja este activa ni visible y el código que he empleado es:

rivate Sub CommandButton2_Click()
Worksheets("Recibo").Active
Worksheets("Recibo").Cells(2, 2) = Me.CboLetradoNC
Worksheets("Recibo").Cells(4, 4) = Me.TxtClient
Worksheets("Recibo").Cells(5, 4) = Me.TxtID
Worksheets("Recibo").Cells(7, 4) = Me.TXTtexto
Worksheets("Recibo").Cells(12, 3) = Me.TxtImporte
Worksheets("Recibo").Cells(18, 2) = Me.TxtFecha
Worksheets("Recibo").Cells(25, 5) = Me.TxtFirmado

With Worksheets("Recibo").PageSetup
.PrintArea = "A1:G26"
.Orientation = xlLandscape ' xlPortrait
.PaperSize = xlPaperA5 'formato A5
.BlackAndWhite = False 'incluir colores o no
.Zoom = False
.FitToPagesTall = 2 
.FitToPagesWide = 1 
.CenterHorizontally = False '
.CenterVertically = False 
End With

Worksheets("Recibo").Range("a1:g25").PrintOut Copies:=1, Preview:=True
'Worksheets("Recibo").PrintPreview

End Sub

No me da error, pero no se imprime nada.

1 respuesta

Respuesta

[Hola

Claro que se pueden imprimir hojas no activas pero no se pueden imprimir hojas ocultas. Si quieres imprimirla solo ponla visible y después nuevamente oculta, algo así y/o adáptalo:

Worksheets("Recibo").Visible = True
Worksheets("Recibo").Range("a1:g25").PrintOut Copies:=1
Worksheets("Recibo").Visible = False

Comentas

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas