Set Printable area to skip columns

G

Guest

I'm working on a spreadsheet, where the printable area needs to skip columns
K through Columns AQ (yes, the spreadsheet is that wide.) Basically when
printed, I need it to appear that those columns have been hidden, and only
print A through J, then on the same page, AR through AS. Since this is being
set up for other users, asking them to hide, print, then unhide is not really
feasible. I saw one macro that claimed it would work, but unfortunately, it
didn't. It would also be nice if the "Print Preview" showed the exact same
thing as what was going to print.

This is that macro, edited for my needs of course.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Sheet1" Then
Cancel = True
Application.EnableEvents = False
Application.ScreenUpdating = False
With ActiveSheet
.Range("K1,AQ1").EntireColumn.Hidden = True
.PrintOut
.Range("K1,AQ1").EntireColumn.Hidden = False
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

Any ideas?
 
G

Guest

Found my own answer. I'm so smart (heh, yeah right)

Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Sheet1" Then
Cancel = True
Application.EnableEvents = False
Application.ScreenUpdating = False
With ActiveSheet
.Range("K:AQ").EntireColumn.Hidden = True
.PrintOut
.Range("K:AQ").EntireColumn.Hidden = False
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
 
D

Dave Peterson

My opinion only...

I would give the users a dedicated macro (a button from the forms toolbar placed
on that worksheet???) that did exactly what I wanted it to.

Then the user could choose to print normally (someday they may want/need to!) or
click the button and do what I want them to do.

The macro would hide the columns, print the worksheet and unhide those columns.

But you may want to try:

..Range("K1:AQ1")
instead of:
..Range("K1,AQ1")
(both spots)

Be aware that the user can print Sheet1 without it being the activesheet.
That's one of the reasons that I like the dedicated macro.
 

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

Top