我试图在用户表单中循环显示标签,而没有5行代码。我知道这行不通,但是我想不出另一种方式来说明我在寻找什么。
for i = 0 in 4
Userform.Lable1+i.caption = "Some Text"
next
答案 0 :(得分:1)
您添加到UserForm的所有内容都处于Control表单中,并且可以通过循环UserForm.Controls来访问所有它们。通过使用TypeName(control),它将返回Control的类型,例如Label,Text,Combobox,Listbox,Button等。在这种情况下,我们只需要标签,因此我们只检查“标签”
'ctrl Variable for the Loop
Dim ctrl As Control
'Loop all Controls
For Each ctrl In UserForm.Controls
'Check if the current ctrl is a Label
If TypeName(ctrl) = "Label" Then
'This is a label, do your thing yo
End If
'Check Next Control
Next ctrl
答案 1 :(得分:0)
可以使用字符串(特定控件的名称)来访问用户窗体的Controls
集合:
for i = 0 in 4
Me.Controls("Label_" & i).caption = "Some Text"
next