Print range & Command Button

G

Guest

I have one sheet named Data and another sheet that contains two command
buttons. I want to press Command Button1 and have a print out of range
A1:G20 from the Data sheet. When I press Command Button2 I want a print out
of range A25:L35 from the Data sheet.

I recorded a macro from the sheet where my print buttons are to see the
code. It is as follows:
Sub Macro1()
Sheets("Data").Select
Range("A1:G20").Select
Selection.PrintOut Copies:=1, Collate:=True
Sheets("Print Buttons").Select
End Sub

I then created the command buttons and applied that code with the respective
ranges for each button, but it created an error.

When I press my print command buttons, I get a print out of a blank page,
not the data in the respective ranges. What am I doing wrong?

Thanks for any help.
 
N

neilaitkenhead

Tim,
Try using this instead:

Sub Macro1
Worksheets("Data").Range("A1:G20").PrintOut Copies:=1, Collate:=True
end sub

I got this to work.

WhippyUSA
 
G

Gary Keramidas

you could try something like this:

Sub test()
Dim ws As Worksheet
Dim rng As Range

Set ws = Worksheets("data")
Set rng = ws.Range("A1:G20")
With ws.PageSetup
.HeaderMargin = Application.InchesToPoints(0.25)
.LeftHeader = ""
.RightMargin = Application.InchesToPoints(0.4)
.LeftMargin = Application.InchesToPoints(0.4)
.TopMargin = Application.InchesToPoints(1.5)
.BottomMargin = Application.InchesToPoints(0.5)
.PrintArea = rng.Address
.CenterHeader = ""
.CenterHorizontally = True
.CenterVertically = False
.Zoom = 100
End With

With ws
.PrintPreview

.PrintOut Copies:=1, Collate:=True
End With

End Sub
 
G

Guest

TimN, I used your code and it worked on my system. The only thing I changed
was instead of sheets("data") I used Sheets(1).
 

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