Excel VBA – 用于每个标签/用户表单
我有一个Excel用户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
表单可以作为一个user input interface
还有一个仪表盘types的东西…当然,在worksheet
上这样做会容易得多,但是你不能真的使它看上去很好, userform
like,可以吗? (即作为一个小窗口运行没有菜单或除了“用户窗体”的区域之外的任何东西)。
试试这个循环表单中的所有标签:
For Each ctrl In Me.Controls If TypeName(ctrl) = "Label" Then Debug.Print ctrl.Name End If Next ctrl
而这个循环框架内的标签(在我的情况下名称框架1)
For Each ctrl In Me.Frame1.Controls If TypeName(ctrl) = "Label" Then Debug.Print ctrl.Name End If Next ctrl
扩大一点。 也适用于MS Access如下映射使用的标签。
Form 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