Print from Option Buttons

R

rschinzel

I have a Userform with 3 OptionButtons, allowing the user to decide
what Range of cells on Worksheet A to print. Ranges are like this:
OptionButton1: printarea = A3:N53
OptionButton2: printarea = A60:N112
OptionButton3: printarea = A3:N112 (fit to 2pages)

I've included a PRINT button and a CANCEL button on the Form.

So, three questions:
** How do I build the code to print the desired range when the option
button is selected and the Print button pressed?

** Can I make OptionButton1 the default? how?
** where do I put the other page formatting info (ie margins and such)
-- on Worksheet A or with the optionbutton code?

Thanks very much for your help...
ray
 
G

Guest

Private Sub OptionButton1_click()
if OptionButton1.Value then
ActiveSheet.PageSetup.PrintArea = "'" & activesheet.name _
&"'!A3:N53")
' Other settings
End if
End Sub

Private Sub Userform_Initialize()

OptionButton1.Value = True
ActiveSheet.PageSetup.PrintArea = "'" & activesheet.name _
&"'!A3:N53")

End Sub
 
K

kev_06

Private Sub cmdPrint_Click()
If OptionButton1.Value = -1 Then
With Worksheets("Sheet1").PageSetup

PrintArea = "$A$3:$N$53"
Zoom = False
FitToPagesTall = 1
FitToPagesWide = 1

BottomMargin = Application.InchesToPoints(0.5)
TopMargin = Application.InchesToPoints(0.5)
LeftMargin = Application.InchesToPoints(0.5)
RightMargin = Application.InchesToPoints(0.5)
End With
ElseIf OptionButton2.Value = -1 Then
With Worksheets("Sheet1").PageSetup

PrintArea = "$A$60:$N$112"
Zoom = False
FitToPagesTall = 1
FitToPagesWide = 1

BottomMargin = Application.InchesToPoints(0.5)
TopMargin = Application.InchesToPoints(0.5)
LeftMargin = Application.InchesToPoints(0.5)
RightMargin = Application.InchesToPoints(0.5)
End With
ElseIf OptionButton3.Value = -1 Then
With Worksheets("Sheet1").PageSetup

PrintArea = "$A$60:$N$112"
Zoom = False
FitToPagesTall = 1
FitToPagesWide = 2

BottomMargin = Application.InchesToPoints(0.5)
TopMargin = Application.InchesToPoints(0.5)
LeftMargin = Application.InchesToPoints(0.5)
RightMargin = Application.InchesToPoints(0.5)
End With
End If

Worksheets("Sheet1").PrintOut
End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
OptionButton1.Value = 1
End Sub
 

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