Martin preguntó si hay una forma de establecer rangos de impresión para varias hojas de trabajo al mismo tiempo. Tiene un libro de trabajo que contiene varias hojas de trabajo estructuradas exactamente igual, y quiere que sus respectivos rangos de impresión sean exactamente iguales.

Como Martin ha descubierto, no hay forma de hacer esto directamente en Excel.

Cuando selecciona varias hojas de trabajo, selecciona el área que desea configurar como área de impresión y luego intenta configurar el área de impresión, rápidamente descubre que la opción para realizar la configuración está atenuada, por lo que no puede seleccionar esa opción.

Sin embargo, hay varias cosas que puede intentar. Una es comenzar con un nuevo libro de trabajo y desarrollar una sola hoja de trabajo que contenga el área de impresión como lo desea en todas las hojas de trabajo. Luego, copie la hoja de trabajo tantas veces como desee en el libro. Las hojas de trabajo copiadas tendrán el área de impresión configurada como estaba en la primera hoja de trabajo.

La otra opción es crear una macro que hará la configuración del área de impresión por usted. Considere la siguiente macro, que establecerá el área de impresión para todas las hojas de trabajo seleccionadas en cualquier área de impresión en la hoja de trabajo activa. (Cuando se selecciona más de una hoja de trabajo, la hoja de trabajo activa es la que está visible cuando ejecuta la macro).

Sub SetPrintAreas1()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = ActiveSheet.PageSetup.PrintArea     For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

Si prefiere que el área de impresión se establezca en algún rango que especifique, en lugar de tener que establecer primero el área de impresión en la hoja de trabajo activa, puede hacer un pequeño cambio en la macro para que use un rango para el área de impresión :

Sub SetPrintAreas2()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = "A7:E22"

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

Para elegir un área de impresión diferente para sus necesidades, reemplace el rango asignado a la variable sPrintArea. Si cree que puede usar la macro bastante, en varios libros de trabajo diferentes, o si cree que es posible que deba cambiar el área de impresión con regularidad, puede cambiar la macro para que solicite al usuario un rango para uso:

Sub SetPrintAreas3()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = InputBox("Enter print area range")

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (9365) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Setting_Print_Ranges_for_Multiple_Worksheets [Configuración de rangos de impresión para varias hojas de trabajo].