Printing Used Range--Method Print Out Failed

M

me

Good Afternoon everyone.

I need help with the following code:

Code/
Option Explicit
Sub selectAll()
Dim ws As Sheet5
Dim printMe As Range
'***** turn off
Application.ScreenUpdating = False
Set ws = Application.Sheets("InitialAssessments")
'***** THIS IS YOUR DYNAMIC RANGE HERE
ws.Activate
Set printMe = ws.UsedRange
'***** these are just options
ws.PageSetup.PrintArea = printMe.Address(False, False)
With ws.PageSetup
'***** manually set margin??????
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0.25)
.BottomMargin = Application.InchesToPoints(0.5)
.HeaderMargin = Application.InchesToPoints(0.25)
.FooterMargin = Application.InchesToPoints(0.25)
'*****
'***** other options here.
.CenterHorizontally = True
.CenterVertically = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
'***** printing here
ws.PrintOut Copies:=1, Collate:=True <----PROBLEM HERE.
'***** turn back on
Application.ScreenUpdating = True
End Sub

/Code

I get a "method Print Out of Worksheet object failed". I've tried to
figure it out, but to no avail. Please help.
Suggestions?
 
T

Tom Ogilvy

I would change
ws.PageSetup.PrintArea = printMe.Address(False, False)

to

ws.PageSetup.PrintArea = printMe.Address(False, False, xlA1,True)

make sure the code is in a general module and not in a worksheet module.
 
C

Chris Villanueva

Thanks for the information Tom. I did as you
instructed. I changed that line of code and the Sub
procedure is in a module and not a worksheet. I am still
getting the problem on the same line as in the original
post:

code/
'***** printing here
Please advise if you can. What am I doing wrong?

Thank you

chris
 
T

Tom Ogilvy

Your options are not doing anything for you.

try

ws.PrintOut

If that doesn't work, start removing/commenting out parts of your code until
it works.
 

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