Imprimr solo las celdas predefindas por el usuario

Brass Contributor

Saludos. Tengo un formulario de factura ya impreso; los campos como fecha, cliente, producto, etc los lleno por medio de una hoja de calculo que replica al formulario impreso en todos sus campos incluyendo los encabezados. Esto con la finalidad de que el usuario comprenda con mayor facilidad lo que va a imprimir.  Lo que deseo es que al momento de imprimir la hoja, no se impriman los encabezados, ya que están reimpresos en el formulario, que solo se impriman aquellos valores que son variables. Esto lo estoy haciendo con una macro que desarrolle con el asistente de Excel, que lo que hace es colorear de blanco los encabezados, imprimir y regresar los encabezados a su color original. Esta es la macro:

Sub Macro1()
'
' Macro1 Macro
'

'
Range( _
"AC14,B12:K12,L12:O12,P12:S12,T12:Y12,B14:Y14,B16:D16,E16:Q16,R16:U16,V16:Y16,H17:P17,H18:P18,H19:P19,H20:P20,H21:P21,H22:P22,H23:P23,H24:P24,H25:P25" _
).Select
Range("H25").Activate
ActiveWindow.SmallScroll Down:=2
Range( _
"AC14,B12:K12,L12:O12,P12:S12,T12:Y12,B14:Y14,B16:D16,E16:Q16,R16:U16,V16:Y16,H17:P17,H18:P18,H19:P19,H20:P20,H21:P21,H22:P22,H23:P23,H24:P24,H25:P25,H26:P26,V17:Y17,V18:Y18,V19:Y19,V20:Y20" _
).Select
Range("V20").Activate
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 18
ActiveWindow.ScrollRow = 19
ActiveWindow.ScrollRow = 20
ActiveWindow.ScrollRow = 21
Union(Range( _
"M36:O36,M37:O37,M38:O38,M39:O39,V32:Y32,V33:Y33,V34:Y34,V35:Y35,V36:Y36,V37:Y37,V38:Y38,V39:Y39,Q41:R41,AC14,B12:K12,L12:O12,P12:S12,T12:Y12,B14:Y14,B16:D16,E16:Q16,R16:U16,V16:Y16,H17:P17,H18:P18,H19:P19,H20:P20,H21:P21,H22:P22,H23:P23,H24:P24,H25:P25" _
), Range( _
"H26:P26,V17:Y17,V18:Y18,V19:Y19,V20:Y20,E27:F27,S27:T27,U27,V27:Y27,M32:O32,M33:O33,M34:O34,M35:O35" _
)).Select
Range("Q41").Activate
With Selection.Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 4.99893185216834E-02
End With
End Sub

 

Puede mejorarse? o mejor aun, crear una que solo imprima aquellas celdas predefinidas por el ususario. Gracias de antemano.

1 Reply

@a7024782 

Si entiendo correctamente, lo que quieres es imprimir solo ciertas celdas de una hoja de cálculo que contienen valores variables, mientras que los encabezados y otros elementos estáticos ya están impresos en un formulario. Una forma de hacerlo es configurar un área de impresión personalizada que incluya solo las celdas que deseas imprimir.

Aquí te explico cómo hacerlo:

  1. Selecciona las celdas que deseas imprimir.
  2. Haz clic en la pestaña “Diseño de página” en la cinta de opciones.
  3. En el grupo “Configurar página”, haz clic en “Área de impresión” y luego en “Establecer área de impresión”.

Ahora, cuando imprimas la hoja de cálculo, solo se imprimirán las celdas seleccionadas. Si deseas cambiar el área de impresión más tarde, simplemente repite los pasos anteriores y selecciona las nuevas celdas que deseas imprimir.

Espero que esto te ayude.