Print area

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.
 
N

NickHK

grahammal,
Try:
With ActiveSheet
.PageSetup.PrintArea = .UsedRange.Address
End With

NickHK
 
G

grahammal

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.
 
G

Guest

..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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top