code to hide check boxes

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I want a group of check boxes to only be visible if another check box is selected. When the other check box is not selected, I want the group to be invisible. Also, I need to know if I should put the code in the Worksheet code or the Workbook code. Thanks. Matt
 
Matt,

Try this code

Private Sub CheckBox1_Click()
With CheckBox1
CheckBox2.Visible = .Value
CheckBox3.Visible = .Value
CheckBox4.Visible = .Value
CheckBox5.Visible = .Value
End With
End Sub

put it in the worksheet code module. I assume you arev using control
checkboxes. not forms
--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

Matt said:
I want a group of check boxes to only be visible if another check box is
selected. When the other check box is not selected, I want the group to be
invisible. Also, I need to know if I should put the code in the Worksheet
code or the Workbook code. Thanks. Matt
 
I am using form check boxes. Is this a problem?

----- Bob Phillips wrote: -----

Matt,

Try this code

Private Sub CheckBox1_Click()
With CheckBox1
CheckBox2.Visible = .Value
CheckBox3.Visible = .Value
CheckBox4.Visible = .Value
CheckBox5.Visible = .Value
End With
End Sub

put it in the worksheet code module. I assume you arev using control
checkboxes. not forms
--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

Matt said:
I want a group of check boxes to only be visible if another check box is
selected. When the other check box is not selected, I want the group to be
invisible. Also, I need to know if I should put the code in the Worksheet
code or the Workbook code. Thanks. Matt
 
Matt,

Yes it is because AFAIK you can't hide the forms checkbox. SO if you want
this facility, best to switch tow controls checkboxes.

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)
 
I had a handfull of checkboxes on a worksheet and this hid all of them and then
unhid the "master" checkbox.

Option Explicit
Sub testme01()
Dim myKeyCBX As CheckBox
Set myKeyCBX = ActiveSheet.CheckBoxes(Application.Caller)
ActiveSheet.CheckBoxes.Visible = CBool(myKeyCBX.Value = xlOn)
myKeyCBX.Visible = True
End Sub

Put the macro in a general module. Assign the key checkbox this macro
(rightclick on it and Assign macro).

If you have them grouped, you could name them nicely (same 4 character prefix
for each grouped checkbox) and loop through them:

Option Explicit
Sub testme01a()
Dim myKeyCBX As CheckBox
Dim myCBX As CheckBox

Application.ScreenUpdating = False

Set myKeyCBX = ActiveSheet.CheckBoxes(Application.Caller)
For Each myCBX In ActiveSheet.CheckBoxes
If Left(LCase(myCBX.Name), 4) = LCase(Left(myKeyCBX.Name, 4)) Then
If myKeyCBX.Name = myCBX.Name Then
'do nothing
Else
myCBX.Visible = CBool(myKeyCBX.Value = xlOn)
End If
End If
Next myCBX

Application.ScreenUpdating = True

End Sub
 
Back
Top