ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Print from Option Buttons (https://www.excelbanter.com/excel-programming/368887-print-option-buttons.html)

[email protected]

Print from Option Buttons
 
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


Tom Ogilvy

Print from Option Buttons
 
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

--
Regards,
Tom Ogilvy


" wrote:

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



kev_06[_32_]

Print from Option Buttons
 

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


--
kev_06
------------------------------------------------------------------------
kev_06's Profile: http://www.excelforum.com/member.php...o&userid=35046
View this thread: http://www.excelforum.com/showthread...hreadid=566752



All times are GMT +1. The time now is 03:43 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com