zborton
New Member
- Joined
- Jun 25, 2015
- Messages
- 7
New to the forms, thanks for the help. I hope I provided enough of the correct information.
As the tittle suggest I am having some issues using ActiveX check boxes. I am working on a setup with a UserForm which can hide column(s) based on if check boxs are checked or not. I have tried this from a few different approaches and have not had any luck with any of them.
The first approach.
I have the userform update how all of the check boxes are marked. The issue I am having is that the check boxes don't remember what they were check at last time I had the userform open, or if I maually hide columns it dosn't update the check boxes either. This works pretty well, I would just like for the click boxes to know if the column(s) that the check box is tied to is hidden and then either have the checkbox checked or unchecked based on that when I open up the userform.
I am not finished with this code, but here is what I have:
The second approach.
I tied each of the click buttons to run the hide command. The issue I have is that I will run the userform and hide the rows I want, then exit out; but when I go back in, the check boxes don't remember the position I left them in and if I try and unhide/hide some of the same things, my check boxes get inverted. This also happens in I go in a manually hide a column, the check box still shows up the default.
I have tried to use some if/then statments to update the value for the check boxes, but that doesn't seem to work either. below is some sample code.
A picture of the setup might help explain everything a little: http://imgur.com/a/JC6tw
As the tittle suggest I am having some issues using ActiveX check boxes. I am working on a setup with a UserForm which can hide column(s) based on if check boxs are checked or not. I have tried this from a few different approaches and have not had any luck with any of them.
The first approach.
I have the userform update how all of the check boxes are marked. The issue I am having is that the check boxes don't remember what they were check at last time I had the userform open, or if I maually hide columns it dosn't update the check boxes either. This works pretty well, I would just like for the click boxes to know if the column(s) that the check box is tied to is hidden and then either have the checkbox checked or unchecked based on that when I open up the userform.
I am not finished with this code, but here is what I have:
Code:
Private Sub Ok_Click()
If gouda.Value = True Then
Sheets("subs").Columns("o:o").Hidden = False
Else
Sheets("subs").Columns("o:o").Hidden = True
End If
If onions.Value = True Then
Sheets("subs").Columns("L:L").Hidden = False
Else
Sheets("subs").Columns("L:L").Hidden = True
End If
If peppers.Value = True Then
Sheets("subs").Columns("i:i").Hidden = False
Else
Sheets("subs").Columns("i:i").Hidden = True
End If
If peppers.Value = True Then Range("a1").Value = 1
If peppers.Value = False Then Range("a1").Value = 0
End Sub
The second approach.
I tied each of the click buttons to run the hide command. The issue I have is that I will run the userform and hide the rows I want, then exit out; but when I go back in, the check boxes don't remember the position I left them in and if I try and unhide/hide some of the same things, my check boxes get inverted. This also happens in I go in a manually hide a column, the check box still shows up the default.
Code:
Private Sub Gouda_Click()
If Sheets("subs").Columns("o:o").Hidden = True Then
Sheets("subs").Columns("o:o").Hidden = False
Else
Sheets("subs").Columns("o:o").Hidden = True
End If
End Sub
Private Sub Onions_Click()
If Sheets("subs").Columns("L:L").Hidden = True Then
Sheets("subs").Columns("L:L").Hidden = False
Else
Sheets("subs").Columns("L:L").Hidden = True
End If
End Sub
Private Sub Peppers_Click()
If Sheets("subs").Columns("i:i").Hidden = True Then
Sheets("subs").Columns("i:i").Hidden = False
Else
Sheets("subs").Columns("i:i").Hidden = True
End If
End Sub
Private Sub Swiss_Click()
If Sheets("subs").Columns("f:f").Hidden = True Then
Sheets("subs").Columns("f:f").Hidden = False
Else
Sheets("subs").Columns("f:f").Hidden = True
End If
End Sub
Private Sub sub1_Click()
'Hides all of sandwhich2 if unclicked, lettuce and tomato
'Makes Letuce and tomato unable to be clicked if sandwich2 is unclicked
Select Case Sub1.Value
Case True: peppers.Enabled = True
Case False: peppers.Enabled = False
End Select
Select Case Sub1.Value
Case True: swiss.Enabled = True
Case False: swiss.Enabled = False
End Select
Select Case Sub1.Value
Case True: peppers = True
Case False: peppers = False
End Select
Select Case Sub1.Value
Case True: swiss = True
Case False: swiss = False
End Select
Select Case Sub1.Value
Case True: Sheets("subs").Columns("d:e").Hidden = False
Case False: Sheets("subs").Columns("d:e").Hidden = True
End Select
Select Case Sub1.Value
Case True: Sheets("subs").Columns("g:h").Hidden = False
Case False: Sheets("subs").Columns("g:h").Hidden = True
End Select
Select Case Sub1.Value
Case True: Sheets("subs").Columns("j:j").Hidden = False
Case False: Sheets("subs").Columns("j:j").Hidden = True
End Select
End Sub
Private Sub sub2_Click()
'Hides all of sandwhich2 if unclicked, lettuce and tomato
'Makes Letuce and tomato unable to be clicked if sandwich2 is unclicked
Select Case sub2.Value
Case True: gouda.Enabled = True
Case False: gouda.Enabled = False
End Select
Select Case sub2.Value
Case True: onions.Enabled = True
Case False: onions.Enabled = False
End Select
Select Case sub2.Value
Case True: gouda = True
Case False: gouda = False
End Select
Select Case sub2.Value
Case True: onions = True
Case False: onions = False
End Select
Select Case sub2.Value
Case True: Sheets("subs").Columns("m:n").Hidden = False
Case False: Sheets("subs").Columns("m:n").Hidden = True
End Select
Select Case sub2.Value
Case True: Sheets("subs").Columns("p:r").Hidden = False
Case False: Sheets("subs").Columns("p:r").Hidden = True
End Select
End Sub
Private Sub Meats_Click()
Select Case Sub1.Value
Case True: Select Case Meats.Value
Case True: Sheets("subs").Columns("d:d").Hidden = False
Case False: Sheets("subs").Columns("d:d").Hidden = True
End Select
Case False:
End Select
Select Case Sub1.Value
Case True: Select Case Meats.Value
Case True: Sheets("subs").Columns("h:h").Hidden = False
Case False: Sheets("subs").Columns("h:h").Hidden = True
End Select
Case False:
End Select
Select Case sub2.Value
Case True: Select Case Meats.Value
Case True: Sheets("subs").Columns("m:m").Hidden = False
Case False: Sheets("subs").Columns("m:m").Hidden = True
End Select
Case False:
End Select
Select Case sub2.Value
Case True: Select Case Meats.Value
Case True: Sheets("subs").Columns("p:p").Hidden = False
Case False: Sheets("subs").Columns("p:p").Hidden = True
End Select
Case False:
End Select
End Sub
I have tried to use some if/then statments to update the value for the check boxes, but that doesn't seem to work either. below is some sample code.
Code:
Private Sub setup_options_Initialize()
'checks all the boxes when the setup options form is opened
If Sheets("subs").Range("a1").Value = 1 Then peppers.Value = True
If Sheets("subs").Range("a1").Value = 0 Then peppers.Value = False
End Sub
A picture of the setup might help explain everything a little: http://imgur.com/a/JC6tw
Last edited: