ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Checkbox arrays (https://www.excelbanter.com/excel-programming/357441-checkbox-arrays.html)

David Bland

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.

Tom Ogilvy

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.


Bob Phillips[_6_]

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.




David Bland

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.

Tom Ogilvy

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