Print area

  • Thread starter Thread starter grahammal
  • Start date Start date
G

grahammal

If I wanted to set the print area to just print
Sheets("Sheet1").Range("A1":"E9")
rather than the whole sheet, how do I do this from a macro button. I
know that
ActiveSheet.Printout prints the whole sheet, but I need to set the
print area 1st.
The print area will be variable depending on what I decide to import
into the active sheet.
 
grahammal,
Try:
With ActiveSheet
.PageSetup.PrintArea = .UsedRange.Address
End With

NickHK
 
Sheets("Sheet1").Range("A4":"A8")

Sub Button1_Click()
With ActiveSheet
PageSetup.PrintArea = .UsedRange.Address
End With
End Sub

What do I need to substitute with what for the above to work?
I assume that either the 'UsedRange' or the 'Address' part has to be
substituted with something for that to work.
 
..UsedRange is a worksheet property that includes all cells on a sheet that
have data.

..Address is the absolute reference from the first cell in the upper left
corner, to the last cell in the lower right corner, of .UsedRange.

That means everything on the sheet will print!

If you can live with doing what you want manually, then select the cells to
print and specify "Selection" in the print dialog's "Print what" section.
Otherwise, you'll have to define the imported data as a named range and refer
to it in code.

Regards,
GS
 
Back
Top