View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Dave is offline
external usenet poster
 
Posts: 1,388
Default Referencing form controls with a loop

Try referring to the control on the form as frmWhatEver.control(x) where x is
and integer reference to the controls... you will have to figure a way to
find the buttons by referring to the name of control eg.
left(frmWhatEver.control(x).name , 3) = "btn" or something like that - don't
know if there is a way to see what the control typeis ..

Best



"robotman" wrote:

I have a form that has 12 identical lines (same label, button, field
etc.).

In normal VB, I can create each control as an array, ex.
frmMyForm.lblMyLabel(1).
So this works great for changing something for all the controls with a
loop:

For Myloop = 1 to 12
frmMyForm.btnMyButton(MyLoop).Enabled = False
Next MyLoop

In VBA, I have to independently name each control and reference them
each one by one:

frmMyForm.btnMybutton1.Enabled = False
frmMyForm.btnMybutton2.Enabled = False
...
frmMyForm.btnMybutton12.Enabled = False

Does anyone have a shortcut to reference multiple identical controls
with a loop in VBA?!

Thanks.

John