我有一个Excel GameMapBuilder
,其上有几个Userform
,其中一些是Labels
。
以下可能吗?
Frame
如果是的话,你是怎么做到的? 或者你可以将其中的一些分组,然后将其作为该组的成员控制,如
For each label [that is on the frame]
[code]
Next label
? 如果是的话,你是怎么做到的?我试图将它们分组,但没有成功。
我希望用户表单作为For each label in [groupname]
[code]
Next label
用作仪表板的东西......当然,在user input interface
上做起来会容易得多,但是你呢真的不能让它看起来很漂亮worksheet
- 就像,你呢? (即,在没有菜单的情况下运行一个小窗口或除了" userform"之外的任何区域。)
答案 0 :(得分:2)
尝试使用此方法循环表单中的所有标签:
For Each ctrl In Me.Controls
If TypeName(ctrl) = "Label" Then
Debug.Print ctrl.Name
End If
Next ctrl
这用于循环框架内的标签(在我的情况下名称为Frame1
)
For Each ctrl In Me.Frame1.Controls
If TypeName(ctrl) = "Label" Then
Debug.Print ctrl.Name
End If
Next ctrl
答案 1 :(得分:0)
稍微扩展一下。也适用于MS Access,如下所示,以映射使用过的标签。
表格OnOpen活动:
Private Sub Form_Open(Cancel As Integer)
List_Labels Me.Form
End Sub
调用子程序(我将它们保存在一个单独的模块中):
Sub List_Labels(ByRef frm As Form)
Dim ctrl As Control
For Each ctrl In frm.Controls
If TypeName(ctrl) = "Label" Then
Debug.Print frm.Name & " - " & ctrl.Name & " value: " & ctrl.Caption
End If
Next ctrl
End Sub