我有一个代码,可以在用户表单上放置多个名称框和标签。该代码非常重复,但是我不知道如何创建一个for循环来更改我关注的对象。
我尝试用对象名称中包含的变量创建循环:
Me.Box(i)。顶部
For i = 1
Me.Box(i).Top = hauteur / 4
Me.Box(i).Left = (i * espace) + (i-1 * lbox)
Me.Label(i).Top = Me.Box(i).Top - 2 * hbox
Me.Label(i).Left = Me.Box(i).Left
Next i
(我所有的盒子都命名为box1到box 7)
这是我的代码:
Me.Box1.Top = hauteur / 4
Me.Box1.Left = espace
Me.Label1.Top = Me.Box1.Top - 2 * hbox
Me.Label1.Left = Me.Box1.Left
Me.Box2.Top = hauteur / 4
Me.Box2.Left = (2 * espace) + lbox
Me.Label2.Top = Me.Box2.Top - 2 * hbox
Me.Label2.Left = Me.Box2.Left
Me.Box3.Top = hauteur / 4
Me.Box3.Left = 3 * espace + 2 * lbox
Me.Label3.Top = Me.Box3.Top - 2 * hbox
Me.Label3.Left = Me.Box3.Left
等...
我正在寻找适合我正在执行的循环类型的语法!
答案 0 :(得分:1)
您需要使用控件集合,该集合将接受字符串索引
for i = 1 to 7
with Me.controls("Box" & i)
.Top = hauteur / 4
.Left = espace
Me.controls("Label" & i).Top = .Top - 2 * hbox
Me.controls("Label" & i).Left = .Left
end with
next i