![]() |
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 |
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 |
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