GUARDA copia en una hoja y libro por aparte

Para ELSA

Hola buen día... Hola elsa tu me ayudaste con este código que no sabes que me ayudaste mucho...

Pero no se si este código puede hacerse reeimprmible

Osea que cuando se guarde y se cree.. Este tenga una opción de imprimir respetando los valores del libro que salio...

Osea horizontal

Que me quepa en una hoja... (osea respetando el libro original)

Este es el código tuyo...

Sub guardaCopiaPANADERIA()
Application.ScreenUpdating = False
'On Error Resume Next
'x Elsamatilde
Sheets("PANADERIA").Select ' ES LA HOJA A COPIAR
'controla si existe hoja COPIA sino la crea
Dim X As Byte
For Each Sh In Sheets
If Sh.Name = "PANADERIA COPIA" Then X = 1 ' ES LA HOJA A CREAR EN CASO DE
Next Sh
'si la variable esta en 0 debe crear la hoja
If X = 0 Then
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "PANADERIA COPIA" ' ES LA HOJA A CREAR EN CASO DE
'vuelvo a mi hoja
Sheets("PANADERIA").Select ' ES LA HOJA A COPIAR
End If
'copio el rango de datos en la misma ubicaciòn de hoja copia

ActiveSheet.Range("B2:AE370").Copy Destination:=Sheets("PANADERIA COPIA").Range("B2") ' ES LA HOJA A CREAR EN CASO DE
'quito formulas de la copia

Sheets("PANADERIA COPIA").Select ' ES LA HOJA A CREAR EN CASO DE
ActiveSheet.Range("B2:AE370").Select
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
Selection.Copy
Selection.PasteSpecial xlValues

'asigno ruta y nombre para la copia. El nombre concatena fecha y nro
ruta = ThisWorkbook.Path & "\COPIAS PANADERIA\" 'NOMBRE DE CARPETA
fini = Range("B" & Rows.Count).End(xlUp).Row
nbrecopia = Format(Range("B" & fini - 1), "dd-mm-yyyy") & "_" & Range("B" & fini)

'creo libro como copia de esta hoja
ActiveSheet.Copy
Set wb = ActiveWorkbook
With wb
'le agrego las instrucciones de bloqueo y protección
'.Sheets(1).Columns("J:K").Hidden = True 'OPCIONAL: ocultar col
.Sheets(1).Columns("A:AE").EntireColumn.AutoFit 'ajusta ancho de col

'vista Pantalla completa
Application.DisplayFullScreen = True
'se oculta la barra de fórmulas
Application.DisplayFormulaBar = False
With ActiveWindow
'se ocultan las pestañas de las hojas
.DisplayWorkbookTabs = True
'se quitan los encabezados y líneas de las celdas
.DisplayHeadings = False
.DisplayGridlines = False
Application.CommandBars("Worksheet Menu Bar").Enabled = False
'QUITAR BARRAS MACROS
'With ActiveWindow
'OCULTAR LAS PESTAÑAS DE LAS HOJAS DEL LIBRO
.DisplayWorkbookTabs = False
Application.DisplayFullScreen = True ' PANTALLA COMPLETA
ActiveWindow.DisplayVerticalScrollBar = False 'OCULTA BARRA DE DESPLAZAMIENTO VERTICAL
ActiveWindow.DisplayHorizontalScrollBar = False 'OCULTA BARRA DE DESPLAZAMIENTO HORIZONTAL

End With
'se bloquean todas las celdas y se protege la hoja
.Sheets(1).Cells.Locked = True

.Sheets(1).Protect password:="1234"
'contemplo posible error en el guardado
On Error GoTo sinCopia

'contemplo posible error en el guardado
On Error GoTo sinCopia
'guardamos el libro en la misma carpeta, subcarpeta COPIAS
.SaveAs ruta & nbrecopia & ".xlsx"
On Error GoTo 0
'cerramos el nuevo libro
.Close
End With
'se libera el objeto
Set wb = Nothing
'limpio la hoja COPIA
ActiveSheet.Unprotect
ActiveSheet.Cells.Clear
ActiveSheet.Range("B2").Select
'vuelvo a la hoja FACTURA para seguir con el proceso
Sheets("PANADERIA").Select ' REGRESO A HOJA QUE QUIERO
Exit Sub

sinCopia:
MsgBox "Fallo el guardado. Guarda la hoja COPIA manualmente y luego borra su contenido.", , "ERROR"
'vuelvo a la hoja FACTURA para seguir con el proceso
Sheets("PANADERIA").Select ' REGRESO A HOJA QUE QUIERO
End Sub

Estas son las propiedades de impresión (lo hice con macro) espero me puedas ayudar

En otra pregunta te abro el código ya que esta largo...

La pregunta se llamara (impresión de guarda copia)

Añade tu respuesta

Haz clic para o