View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_3_] Dave Peterson[_3_] is offline
external usenet poster
 
Posts: 2,824
Default code to hide check boxes

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




Matt wrote:

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" wrote in message
...
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




--

Dave Peterson