Printing Multiple Ranges

  • Thread starter Thread starter Geoff Ehringer
  • Start date Start date
G

Geoff Ehringer

I have a worksheet that has 16 different ranges (entitled
Page1, Page2, ..., Page16). I want to print each page in
its correct order. So I go to Page Setup and make the
print area be "Page1, Page2, Page3" and so on. But
instead of keeping the ranges in that order, it converts
them to cells so the print_area becomes J139:ER193. This
wouldn't be a problem, except that the pages aren't in the
correct order in the worksheet, so when I print I get page
6, 7, 8, 13, 1.... So I ask, is there a simple way to do
this in excel?

I also tried to write a macro to do this, and the macro
looks like...

Range("Page1").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("Page2").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("Page3").Select
Selection.PrintOut Copies:=1, Collate:=True

This works 90% of the time, but since this sends 16 one
page requests to the printer, rather than one 16 page
request, there is occasionaly a page out of order. So my
second question is, is there a way to do something
similiar to this, but instead just sends one request to
the printer that is 16 pages? Thanks in advance!
 
This might be a lot more work than just manually collating the paper, but...

Maybe you could print to a file (16 times). Then build an old .bat file that
copies those in the correct order to the printer:

copy /b myPrn01.prn + myPrn02.prn + myprn03.prn + ... + myprn16.prn lpt1:

But be careful. You can't just send these 16 prn files to any printer. You
have to send it to the same type printer that you used to create the .prn files.

In xl2k (and higher), you can actually specify the filename to print to. In
xl97, you'll be prompted for a filename (I think).
 
Back
Top