童年的回忆钢琴曲指法:VBA如何批量更改控件的内容?

来源:百度文库 编辑:高考问答 时间:2024/05/02 07:41:13
请问:
在VBA中的一个窗体使用了多个部件,如CHECKBOX1~20,希望在窗体打开时自动对它更换caption。单个重命名是知道的,如checkbox1.text=1
如何利用循环语句对其批量命名?如“ for i=1 to 20 : checkbox(i).text=i :next i ”我知道这样的书写方法不正确,请问该如何编写这些语句?
在foxpro中可以使用宏代换来实现,如 J="checkbox"& str(i,2,0) &".text=1" : &J ,在VBA中如何实现呢?
楼下的仁兄,你这好象也不对呀。我在VB6中试了也无法通过,提示为“子程序或函数未定义”,与VBA中的提示一样!

肯请高手指点!能否请仁兄说详细点?! 先谢过了!

以下是最佳答案:因为自己不能回答自己的问题,所以就贴了进来!
http://club.excelhome.net/dispbbs.asp?boardid=2&id=178493&star=1#462783
7楼的GG给了我满意的答复!
答案是:
Private Sub UserForm_Activate()
For i = 1 To 9 '要想试验这段代码,须先建立9个checkbox在userform1上
UserForm1.Controls("Checkbox" & i).Caption = i
Next i
End Sub

我知道vb的,不知vba可以不:
先把那些控件全部命名为同一个名称checkboxs,把index属性改为1~20
for i = 1 to 20
checkboxs(i).caption = "checkbox" & i
next