Help to amend code which prints only certain sheets

G

Guest

Hi I have the code below linked to a form button , Basically the page "Sheet
1" always prints, and sheet 2 and 3 only print if the cells they look at are
true, which in turn are linked by form check boxes!


'To decide what pages get printed when used with print button
Sub PrintButton_Click()
Sheets("Sheet1").Select
Application.Dialogs(xlDialogPrint).Show

'Water audit sheets to print
Sheets("Sheet2").Select
If Range("Calcs!i1") = True Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If

Sheets("Sheet3").Select
If Range("Calcs!f1") = True Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
End Sub


On sheet three is it possible to amend the code so that it looks at three
cells to see if they are true!

I would like it so that if "Calcs!f1" is true only the range A1:L8 prints
If "Calcs!f2" is true only the range A1:L16 prints
and If "Calcs!f3" is true the range A1:L30 prints.

Thanks for any advice.
 
C

Corey

Sub PrintButton_Click()
Sheets("Sheet1").Select
Application.Dialogs(xlDialogPrint).Show

'Water audit sheets to print
Sheets("Sheet2").Select
If Range("Calcs!i1") = True Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Sheets("Sheet").Select
If Range("Calcs!f1") = True and Range("Calcs!f2") <> True and
Range("Calcs!f3") <> True Then
Range("A1:L8").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$8"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
else
if Range("Calcs!f1") <> True and Range("Calcs!f2") = True and
Range("Calcs!f3") <> True Then
Range("A1:L16").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$16"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
else
if Range("Calcs!f1") <>True and Range("Calcs!f2") <> True and
Range("Calcs!f3") = True Then
Range("A1:L30").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$30"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
end if
end if
End Sub

Corey....
 
Z

Zack Barresse

Sounds like you actually need radio buttons instead of check boxes. You can
still check the value (still boolean, true/false) and run as such, but
grouped together there can only be one selection. With the check boxes
there can be any [limited] number of choices.

HTH
Zack Barresse, aka firefytr
 
G

Guest

Thankyou very much, works a treat!!

Corey said:
Sub PrintButton_Click()
Sheets("Sheet1").Select
Application.Dialogs(xlDialogPrint).Show

'Water audit sheets to print
Sheets("Sheet2").Select
If Range("Calcs!i1") = True Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
Sheets("Sheet").Select
If Range("Calcs!f1") = True and Range("Calcs!f2") <> True and
Range("Calcs!f3") <> True Then
Range("A1:L8").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$8"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
else
if Range("Calcs!f1") <> True and Range("Calcs!f2") = True and
Range("Calcs!f3") <> True Then
Range("A1:L16").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$16"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
else
if Range("Calcs!f1") <>True and Range("Calcs!f2") <> True and
Range("Calcs!f3") = True Then
Range("A1:L30").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$L$30"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
end if
end if
End Sub

Corey....
 

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