Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a number of checkboxes on my page, and when one is ticked, i am using
code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Your code worked fine for me when I had it all in the userform module.
The checkboxes are on a Userform? -- Regards, Tom Ogilvy "Richard" wrote in message ... I have a number of checkboxes on my page, and when one is ticked, i am using code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Tom, no they are on one of the sheets (the 3rd). Will this still work?
Will i have to reference the sheet (sheet3.checkbox)? I was trying to avoid using a userform this time. Richard -- Richard "Tom Ogilvy" wrote: Your code worked fine for me when I had it all in the userform module. The checkboxes are on a Userform? -- Regards, Tom Ogilvy "Richard" wrote in message ... I have a number of checkboxes on my page, and when one is ticked, i am using code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try it this way:
Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.OleObjects("Checkbox" & which(i))Object..Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub With the code in the sheet module. -- Regards, Tom Ogilvy "Richard" wrote in message ... Hi Tom, no they are on one of the sheets (the 3rd). Will this still work? Will i have to reference the sheet (sheet3.checkbox)? I was trying to avoid using a userform this time. Richard -- Richard "Tom Ogilvy" wrote: Your code worked fine for me when I had it all in the userform module. The checkboxes are on a Userform? -- Regards, Tom Ogilvy "Richard" wrote in message ... I have a number of checkboxes on my page, and when one is ticked, i am using code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Tom, i'm not sure if i'm doing this correctly, but i'm getting 'Expected End
of Statement' error before Object.Value I took out one of the full stops between object and value as i assume this was a typo. -- Richard "Tom Ogilvy" wrote: Try it this way: Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.OleObjects("Checkbox" & which(i))Object..Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub With the code in the sheet module. -- Regards, Tom Ogilvy "Richard" wrote in message ... Hi Tom, no they are on one of the sheets (the 3rd). Will this still work? Will i have to reference the sheet (sheet3.checkbox)? I was trying to avoid using a userform this time. Richard -- Richard "Tom Ogilvy" wrote: Your code worked fine for me when I had it all in the userform module. The checkboxes are on a Userform? -- Regards, Tom Ogilvy "Richard" wrote in message ... I have a number of checkboxes on my page, and when one is ticked, i am using code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Apparently there was a typo. It should be:
Me.OleObjects("Checkbox" & which(i)).Object.Value = False -- Regards, Tom Ogilvy "Richard" wrote in message ... Tom, i'm not sure if i'm doing this correctly, but i'm getting 'Expected End of Statement' error before Object.Value I took out one of the full stops between object and value as i assume this was a typo. -- Richard "Tom Ogilvy" wrote: Try it this way: Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.OleObjects("Checkbox" & which(i))Object..Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub With the code in the sheet module. -- Regards, Tom Ogilvy "Richard" wrote in message ... Hi Tom, no they are on one of the sheets (the 3rd). Will this still work? Will i have to reference the sheet (sheet3.checkbox)? I was trying to avoid using a userform this time. Richard -- Richard "Tom Ogilvy" wrote: Your code worked fine for me when I had it all in the userform module. The checkboxes are on a Userform? -- Regards, Tom Ogilvy "Richard" wrote in message ... I have a number of checkboxes on my page, and when one is ticked, i am using code to clear the others, and if the subject they relate to isn't relevant, i hide them. I have used arrays in the past to clear these in bulk. Private Sub BlankCheckboxes(which) 'routine to specify whether checkboxes have a null value Dim i As Long For i = LBound(which, 1) To UBound(which, 1) Me.Controls("Checkbox" & which(i)).Value = False Next i End Sub Then: Private Sub CheckBox1_Click() If CheckBox1.Value = True Then BlankCheckboxes Array(2, 3, 4) End If End Sub When i try this i get Compile Error, Method or data member not found. I know it worked before on another spreadsheet, am i missing something obvious? Help appreciated! Richard -- Richard |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
clearing array contents | Excel Programming | |||
Excel VBA array of checkboxes | Excel Programming | |||
Excel VBA Problem - Clearing multiple checkboxes | Excel Programming | |||
vba clearing out values stored in array | Excel Programming | |||
setting ctl to array of checkboxes yields type mismatch error. | Excel Programming |