Last week, we asked for an efficient solution for printing different areas of the same sheet. Users tend to waste time resetting each print task. Zimmerwoman and I are on the same page with one solution: use custom views. Views save print settings, so you can select a view and print-without resetting anything when you’re ready to print. The good news is, users can do this themselves. To set a custom view, arrange everything the way you want, including the print settings. Then, do the following:
- Click the View tab.
- In the Workbook Views group, click Custom Views.
- Click Add.
- Enter a name for the view (the print setting option is checked by default).
- Click OK.
A second solution is a set of macros using the following generic procedure:
ActiveSheet.PageSetup.PrintArea = Range("range").Address
First, you must create range – a named range that includes the data you want to print. Then, run the appropriate macro to print each range, as needed. For instance, you might have three print ranges named Outlook, Sales, and Trends. In this case, you’d have three sub procedures, PrintOutlook, PrintSales, and PrintTrends. A more efficient solution would be to pass a selected range via a user control:
Sub PrintPassedRange(prtrange As String)
ActiveSheet.PageSetup.PrintArea = Range("prtrange").Address
You can also use the procedure to set additional print settings, such as orientation, copy number, and so on.
Once again, thanks to everyone who played along!