Wow, this works. So simple. MS so butt-backwards sometime - TextBox object doesn't work, but Control object does.
Anyway, aside from going into the details of my design, I have come across many instances where it would be useful to loop through controls without using 'for each ctrl in UserForm1' due to the need to group certain controls together to test them specifically (if textbox(n+4) > 1; this would fail for textual textboxes).
Now I can have a function that sets the textbox numbers up:
Function(byval k as integer, txt<name1-4> as control)
if input1 = 1 then
set txt<name1> = textbox1
set txt<name2> = textbox2
set txt<name3> = textbox3
set txt<name4> = textbox4
elseif input1 = 5 then
set txt<name1> = textbox5
set txt<name2> = textbox6
set txt<name3> = textbox7
set txt<name3> = textbox8
...
Later, I can do a loop like:
loop for i = 1 to 4 step 3
call function(i,txt<name1-4>)
{work with txt<name1-4> without having to explicitly reference}
end loop
This seems to cut down on code for me. Thanks so much for your help!!!