ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Printing in reverse order (https://www.excelbanter.com/excel-programming/334034-printing-reverse-order.html)

Otto Moehrbach

Printing in reverse order
 
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



keepITcool

Printing in reverse order
 

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


Otto Moehrbach

Printing in reverse order
 
Thanks for that tip. Otto
"keepITcool" wrote in message
ft.com...

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





All times are GMT +1. The time now is 08:59 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com