How to Set Print Scaling for Every Worksheet in an Excel Workbook
Question details
The user needs to apply a custom print scaling percentage across all worksheets in a workbook at the same time.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Printing an entire multi-sheet workbook to PDF or a physical printer at a specific custom scale.
- Observed behavior
- When applying a custom scale and printing the workbook, only the active worksheet uses the selected scaling percentage, while the remaining worksheets revert to default scaling.
Decide whether you want to apply a uniform print scale (such as 180%) across all sheets or if certain sheets require individual adjustments. Ensure you have saved a backup of your workbook before running any VBA macros.
Use a VBA Macro to Set Print Scale for All Sheets
The most efficient way to apply a uniform print scaling percentage to every worksheet simultaneously, especially for large workbooks.
Using a VBA macro saves time by automatically looping through every worksheet in your workbook and applying the exact Page Setup zoom percentage you specify. This prevents you from having to manually format each sheet individually.
Press 'Alt + F11' on your keyboard while in Excel to open the Microsoft Visual Basic for Applications editor.
Click on 'Insert' in the top menu bar and select 'Module' from the drop-down list to create a blank script window.
Copy and paste the following code into the module window: Sub SetPrintScaleForAllSheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.PageSetup.Zoom = 180 Next ws MsgBox "Print scale set to 180% for all sheets." End Sub
Change the '180' value in the code to your desired custom scaling percentage (e.g., 100, 150, 200).
Press 'F5' on your keyboard or click the green 'Run' triangle on the toolbar. A confirmation message box will appear once the settings are applied to all sheets.
Manually Set Print Scale by Grouping Worksheets
Grouping sheets allows you to apply page setup settings to multiple worksheets at once without needing to use code.
Manage Spreadsheet Printing Easily with WPS Spreadsheet
WPS Office provides robust spreadsheet functionalities, allowing you to easily manage page setup, adjust print scaling, and export entire workbooks to PDF without layout issues.
- 1. Open Your Workbook: Launch WPS Spreadsheet and open the file you wish to print or export.
- 2. Group Worksheets: Right-click a sheet tab at the bottom and click 'Select All Sheets' to group them.
- 3. Adjust Print Scale: Go to the 'Page Layout' tab, click 'Page Setup', and adjust the scale percentage under the Page tab.
- 4. Print or Export: Click the application menu and select 'Export to PDF' or 'Print' to generate your uniformly scaled document.

Frequently Asked Questions
Why does my Excel workbook print to PDF with different sizes for each sheet?
This happens because Excel saves Page Setup and print scaling settings individually for each worksheet. If you only change the scale on your currently active sheet, all other sheets retain their default 100% scale.
Can I automatically fit all sheets to one page instead of setting a percentage?
Yes. While the sheets are grouped, open the Page Setup dialog and select the 'Fit to 1 page wide by 1 tall' option instead of 'Adjust to a percentage'. This will scale every sheet dynamically to fit onto a single printed page.
Do VBA macros work in WPS Office for setting print scales?
Yes, WPS Office fully supports VBA macros. You can open the VBA editor in WPS Spreadsheet and use the exact same code snippet provided in the solution to apply print scaling across all your sheets.
How do I know if my sheets are grouped before applying the print scale?
When worksheets are grouped, the selected tabs at the bottom of your screen will turn white, and the word '[Group]' will typically appear next to your file name in the application title bar at the top.




