al2o3晶体结构:请问这段代码如何修改?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 06:12:41
以下是一段VBA程序代码,无法正确执行,请问该如何编写?
目的是通过一个循环来对10个checkboxt进行初始化。
Private Sub UserForm_Activate()
Dim cbname As Object, c As String
For i = 1 To 10
c = "UserForm1.CheckBox" & i
Set cbname = c '利用循环设定目标,如I=1 则设定cbname为 checkbox1,...i=9则cbname=checkbox9
With cbname '对指定的checkbox赋初值
.Text = i
.caption =i
.
.
End With
Next i

End Sub
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

Set cbname = c
这个语名是错的,cbname是Object类型,而C是字符型。无法付值。
VB也不支持宏代换,别想用字符变量的循环来实现。只能一个一个的付值。

我几乎没用过vba,只用过vb,错了还请谅解。。
c = "UserForm1.CheckBox" & i <——删去"&i",否则就会定义成userform.checkbox1,这是错误的