ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Looping Thru Objects in UserForms (https://www.excelbanter.com/excel-programming/321631-looping-thru-objects-userforms.html)

RobC[_3_]

Looping Thru Objects in UserForms
 
Need a little help trying to loop through objects on a form. I have say,
10 checkboxes and a ComboBox on a UserForm and based on ComboBox selection
(1-10) I want to make visible = false any chekbox over that value. I can
do this individually but would like to loop through each one as I have many
sets. The Checkbox Names are "C1" thru "C10". I was hoping to
loop/increment throught the Number portion "C x". I can do this looping in
Cells, but not in UserForms. I tried the "Evaluate" but could never get it
correct. I do this in javascript using eval but can't figure this out in
VB. Thanks, Rob

Jake Marx[_3_]

Looping Thru Objects in UserForms
 
Hi RobC,

Something like this should work:

Private Sub cboTest_Change()
Dim ctl As Control

On Error Resume Next
For Each ctl In Controls
If TypeOf ctl Is MSForms.CheckBox Then
ctl.Visible = (CInt(Mid$(ctl.Name, 2)) _
<= CInt(cboTest.Text))
End If
Next ctl
On Error GoTo 0
End Sub

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


RobC wrote:
Need a little help trying to loop through objects on a form. I have
say, 10 checkboxes and a ComboBox on a UserForm and based on
ComboBox selection (1-10) I want to make visible = false any chekbox
over that value. I can do this individually but would like to loop
through each one as I have many sets. The Checkbox Names are "C1"
thru "C10". I was hoping to loop/increment throught the Number
portion "C x". I can do this looping in Cells, but not in UserForms.
I tried the "Evaluate" but could never get it correct. I do this in
javascript using eval but can't figure this out in VB. Thanks, Rob


Bob Phillips[_6_]

Looping Thru Objects in UserForms
 
Dim ctl As msforms.Control

For Each ctl In Me.Controls
If Left(ctl.Name, 8) = "CheckBox" Then
If Val(Right(ctl.Name, 2)) 9 Then
ctl.Value = False
End If
End If
Next ctl


--

HTH

RP
(remove nothere from the email address if mailing direct)


"RobC" wrote in message
om...
Need a little help trying to loop through objects on a form. I have say,
10 checkboxes and a ComboBox on a UserForm and based on ComboBox

selection
(1-10) I want to make visible = false any chekbox over that value. I can
do this individually but would like to loop through each one as I have

many
sets. The Checkbox Names are "C1" thru "C10". I was hoping to
loop/increment throught the Number portion "C x". I can do this looping

in
Cells, but not in UserForms. I tried the "Evaluate" but could never get

it
correct. I do this in javascript using eval but can't figure this out in
VB. Thanks, Rob





All times are GMT +1. The time now is 02:14 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com