View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
OssieMac OssieMac is offline
external usenet poster
 
Posts: 2,510
Default pagesetup.printarea Print non contiguous areas # rows varies

Hello Richard,

You can name the range and then use the named range as the print area.
Range("A1:I16,A25:I35,A64:I81").Name = "MyPrintRange"

ActiveSheet.PageSetup.PrintArea = "MyPrintRange"

However, the above will insert a page feed between the non contiguous rows.
In Page setup it also converts the named range to actual cell addresses.

You can copy the non contiguous rows to a separate temporary worksheet and
there will be no non contiguous rows and then the address of the UsedRange
can be used for the PrintArea.

Sub PrtNonContiguous()

With Sheets("Sheet1")
.Range("A1:I16,A25:I35,A64:I81").Copy _
Sheets("Sheet2").Range("A1")
End With

With Sheets("Sheet2")
.PageSetup.PrintArea = .UsedRange.Address
End With

End Sub

--
Regards,

OssieMac


"Richard" wrote:

Using variables to hold print ranges. How do I assign variables to
.pageSetup.PrintArea = ???