【发布时间】:2015-07-11 00:18:08
【问题描述】:
我正在尝试遍历用户窗体上的两组控件。如果两个控件(切换按钮)的组合为真,则执行某些操作。从创建控件的用户窗体调用 sub。这是我第一次使用 userform 控制变量,下面的代码不会编译,所以这可能是完全错误的。请问有什么建议吗?
更新了代码示例,但出现编译错误。见下图:
Private Sub CONTROLS_Click()
Dim X As Integer, Y As Integer
Dim BOOK As Variant, STRAT As Variant
BOOK = Array("TYPE1", "TYPE2")
STRAT = Array("FAST", "MEDIUM", "SLOW")
For X = LBound(BOOK) To UBound(BOOK)
If Me.CONTROLS(BOOK(X)).Value = True Then
For Y = LBound(STRAT) To UBound(STRAT)
If Me.CONTROLS(STRAT(Y)).Value = True Then
'DO SOMETHING
End If
Next Y
End If
Next X
End Sub
【问题讨论】:
-
Me.CONTROLS(...)保持大写,而不是 VBE 的自动更正,这使得Me.Controls(..)成为我应该关注的方式。就像您使用 CONTROLS 作为某事物的名称,而您已经覆盖了它的保留用途。
标签: excel vba controls userform togglebutton