![]() |
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 |
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 |
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