Written by Allen Wyatt (last updated November 4, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, 2021, and Excel in Microsoft 365
Ian puts together Excel workbooks that typically contain, at minimum, 30 worksheets. Each worksheet, if printed, requires a minimum of eight pages. Ian often updates the data in each worksheet that would appear on the first two printed pages of those worksheets. When it comes time to print, Ian would like a way to print just the first two pages of each worksheet.
When you select a range of worksheets and then choose to print, those worksheets are considered by Excel to be a single, contiguous print job. So, for instance, if you selected 20 worksheets and each worksheet required eight pages, that would not be treated by Excel as 20 individual print jobs of eight pages each, but as a single 160-page print job.
Theoretically you could specify, in the Print dialog box (Excel 2007 and Excel 2010) or the print settings page (Excel 2013 and later versions), that you wanted to print pages 1, 2, 9, 10, 17, 18, etc., but this is prone to error and quite tedious. It gets even more difficult if the worksheets being printed consist of varying numbers of pages.
The best solution is to write a macro that will do the printing for you. The macro can step through however many worksheets you've selected and print only the first two pages of each of those worksheets. The following macro implements this technique:
Sub PrintTwoPages() Dim s As Variant For Each s In ActiveWindow.SelectedSheets s.PrintOut From:=1, To:=2, Preview:=True Next s Set s = Nothing End Sub
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9579) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, 2021, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Printing Limited Pages from a Range of Worksheets.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
Excel displays row numbers on-screen that help you easily see what is in each row. If you want to print these row ...
Discover MoreIf there are error values in a worksheet, you may not want those error values to appear on a printout. Excel actually ...
Discover MoreEver printed out a worksheet only to find that you have text only at the left side of each page? You can use more of each ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-11-07 00:04:25
Tomek
When using the suggestion from my earlier comment, you can still print the whole workbook, or full selected sheets, by choosing Ignore Print Area in the print settings.
2023-11-06 23:48:51
Tomek
Wouldn't it be simpler to define Print Area for each sheet, and then print all selected sheets? That way you would have full control of what would be printed. It also would be easier to adjust if on each sheet there were changes that would expand or contract the area that needs to be printed.
No macro needed for this.
Also, you could combine this with manual page breaks to control what prints on first and what on the second page for each sheet,
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments