![]() |
Checkbox arrays
Hi All
New to the world of programming on an excel worksheet. I am trying to set up an array that contains checkboxes, basically I have checkboxes on a worksheet on three different rows and I want to scroll through the rows and use the row number as the index number for the checkbox and pass that to another function. Dim ChipEnabled(1 To 10) As CheckBox Private Sub cmdLogon_Click() Sheet4.SetUpWorkSheet End sub Public Sub SetUpWorkSheet() 'Assign each check box to the ChipEnabled array Set ChipEnabled(1) = chkChipVisaEnabled Set ChipEnabled(2) = chkChipElectronEnabled Set ChipEnabled(3) = chkChipMastercardEnabled End Sub When I the code gets to the first line Set ChipEnabled(1) = chkChipVisaEnabled I get a Type Mismatch. I don't understand why. If this was working I could then use this as follows. For i = 1 to sheet1.Rows.Count Update (ChipEnabled(i).Value) Next i I hope you understand what I mean. |
Checkbox arrays
there are two types of Checkboxes. Change your declaration to
Dim ChipEnabled(1 To 10) As MSForm.CheckBox -- Regards, Tom Ogilvy "David Bland" wrote: Hi All New to the world of programming on an excel worksheet. I am trying to set up an array that contains checkboxes, basically I have checkboxes on a worksheet on three different rows and I want to scroll through the rows and use the row number as the index number for the checkbox and pass that to another function. Dim ChipEnabled(1 To 10) As CheckBox Private Sub cmdLogon_Click() Sheet4.SetUpWorkSheet End sub Public Sub SetUpWorkSheet() 'Assign each check box to the ChipEnabled array Set ChipEnabled(1) = chkChipVisaEnabled Set ChipEnabled(2) = chkChipElectronEnabled Set ChipEnabled(3) = chkChipMastercardEnabled End Sub When I the code gets to the first line Set ChipEnabled(1) = chkChipVisaEnabled I get a Type Mismatch. I don't understand why. If this was working I could then use this as follows. For i = 1 to sheet1.Rows.Count Update (ChipEnabled(i).Value) Next i I hope you understand what I mean. |
Checkbox arrays
Declare it as MSForms
Dim ChipEnabled(1 To 10) As MSForms.CheckBox -- HTH Bob Phillips (remove nothere from email address if mailing direct) "David Bland" wrote in message ... Hi All New to the world of programming on an excel worksheet. I am trying to set up an array that contains checkboxes, basically I have checkboxes on a worksheet on three different rows and I want to scroll through the rows and use the row number as the index number for the checkbox and pass that to another function. Dim ChipEnabled(1 To 10) As CheckBox Private Sub cmdLogon_Click() Sheet4.SetUpWorkSheet End sub Public Sub SetUpWorkSheet() 'Assign each check box to the ChipEnabled array Set ChipEnabled(1) = chkChipVisaEnabled Set ChipEnabled(2) = chkChipElectronEnabled Set ChipEnabled(3) = chkChipMastercardEnabled End Sub When I the code gets to the first line Set ChipEnabled(1) = chkChipVisaEnabled I get a Type Mismatch. I don't understand why. If this was working I could then use this as follows. For i = 1 to sheet1.Rows.Count Update (ChipEnabled(i).Value) Next i I hope you understand what I mean. |
Checkbox arrays
"Tom Ogilvy" wrote: there are two types of Checkboxes. Change your declaration to Dim ChipEnabled(1 To 10) As MSForm.CheckBox -- Regards, Tom Ogilvy "David Bland" wrote: Hi All New to the world of programming on an excel worksheet. I am trying to set up an array that contains checkboxes, basically I have checkboxes on a worksheet on three different rows and I want to scroll through the rows and use the row number as the index number for the checkbox and pass that to another function. Dim ChipEnabled(1 To 10) As CheckBox Private Sub cmdLogon_Click() Sheet4.SetUpWorkSheet End sub Public Sub SetUpWorkSheet() 'Assign each check box to the ChipEnabled array Set ChipEnabled(1) = chkChipVisaEnabled Set ChipEnabled(2) = chkChipElectronEnabled Set ChipEnabled(3) = chkChipMastercardEnabled End Sub When I the code gets to the first line Set ChipEnabled(1) = chkChipVisaEnabled I get a Type Mismatch. I don't understand why. If this was working I could then use this as follows. For i = 1 to sheet1.Rows.Count Update (ChipEnabled(i).Value) Next i I hope you understand what I mean. Thanks Tom sorted it out a treat. |
Checkbox arrays
for completeness, there was a typo
Dim ChipEnabled(1 To 10) As MSForm.CheckBox should have been Dim ChipEnabled(1 To 10) As MSForms.CheckBox with an "s" on MSform -- Regards, Tom Ogilvy Glad you figured it out. -- Regards, Tom Ogilvy "David Bland" wrote: "Tom Ogilvy" wrote: there are two types of Checkboxes. Change your declaration to Dim ChipEnabled(1 To 10) As MSForm.CheckBox -- Regards, Tom Ogilvy "David Bland" wrote: Hi All New to the world of programming on an excel worksheet. I am trying to set up an array that contains checkboxes, basically I have checkboxes on a worksheet on three different rows and I want to scroll through the rows and use the row number as the index number for the checkbox and pass that to another function. Dim ChipEnabled(1 To 10) As CheckBox Private Sub cmdLogon_Click() Sheet4.SetUpWorkSheet End sub Public Sub SetUpWorkSheet() 'Assign each check box to the ChipEnabled array Set ChipEnabled(1) = chkChipVisaEnabled Set ChipEnabled(2) = chkChipElectronEnabled Set ChipEnabled(3) = chkChipMastercardEnabled End Sub When I the code gets to the first line Set ChipEnabled(1) = chkChipVisaEnabled I get a Type Mismatch. I don't understand why. If this was working I could then use this as follows. For i = 1 to sheet1.Rows.Count Update (ChipEnabled(i).Value) Next i I hope you understand what I mean. Thanks Tom sorted it out a treat. |
All times are GMT +1. The time now is 01:40 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com