Print Range Setup



Is there a way to setup/format a Worksheet so that it won’t print anything
outside of A1:N116 but it can print any selection within that range?



Gary''s Student

Install the following event macro in the workbook code area:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Set r1 = Range("A1:N116")
Set r2 = Range(ActiveSheet.PageSetup.PrintArea)
Set r3 = Intersect(r1, r2)
ActiveSheet.PageSetup.PrintArea = r3.Address
End Sub

Because it is workbook code, it is very easy to install and use:

1. right-click the tiny Excel icon just to the left of File on the Menu Bar
2. select View Code - this brings up a VBE window
3. paste the stuff in and close the VBE window

If you save the workbook, the macro will be saved with it.

To remove the macro:

1. bring up the VBE windows as above
2. clear the code out
3. close the VBE window

To learn more about macros in general, see:

To learn more about Event Macros (workbook code), see:


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question