Printing in reverse order

O

Otto Moehrbach

Excel XP, WinXP
I have the following macro to print the active sheet in reverse order if
more than one page is involved. My question concerns how to specify a range
to print. The line that starts with:
"NumPages = "
I believe addresses the active sheet (the used range) and will result in the
number of pages it will take to print the used range. How do I modify this
code if I want to print the range RngToPrint? Specifically, how would I
write the "NumPages =" line such that the value of NumPages would be the
number of pages it takes to print the range RngToPrint? Thanks you for your
help. Otto

Sub ReversePrint()
Dim NumPages As Long
Dim Page As Long
NumPages = ExecuteExcel4Macro("GET.DOCUMENT(50)")
For Page = NumPages To 1 Step -1
ActiveSheet.PrintOut from:=Page, To:=Page
Next Page
End Sub
 
K

keepITcool

Otto, set the print_area first.

Sub foo()
Dim rngtoprint As Range
Set rngtoprint = [a:h]
rngtoprint.Worksheet.Names.Add "print_area", rngtoprint
MsgBox Application.ExecuteExcel4Macro("get.document(50)")
End Sub




--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Otto Moehrbach wrote :
 
O

Otto Moehrbach

Thanks for that tip. Otto
keepITcool said:
Otto, set the print_area first.

Sub foo()
Dim rngtoprint As Range
Set rngtoprint = [a:h]
rngtoprint.Worksheet.Names.Add "print_area", rngtoprint
MsgBox Application.ExecuteExcel4Macro("get.document(50)")
End Sub




--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


Otto Moehrbach wrote :
Excel XP, WinXP
I have the following macro to print the active sheet in reverse order
if more than one page is involved. My question concerns how to
specify a range to print. The line that starts with: "NumPages = "
I believe addresses the active sheet (the used range) and will result
in the number of pages it will take to print the used range. How do
I modify this code if I want to print the range RngToPrint?
Specifically, how would I write the "NumPages =" line such that the
value of NumPages would be the number of pages it takes to print the
range RngToPrint? Thanks you for your help. Otto

Sub ReversePrint()
Dim NumPages As Long
Dim Page As Long
NumPages = ExecuteExcel4Macro("GET.DOCUMENT(50)")
For Page = NumPages To 1 Step -1
ActiveSheet.PrintOut from:=Page, To:=Page
Next Page
End Sub
 

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