【发布时间】:2018-03-28 08:11:35
【问题描述】:
我使用此代码将CheckBox1 添加到我的UserForm:
Private Sub UserForm_Initialize()
Dim opt As Variant
Set opt = UserForm1.Controls.Add("Forms.checkbox.1", "CheckBox1", True)
End Sub
现在当我点击CommandButton 时,我想检查CheckBox1 是否被选中:
Private Sub CommandButton1_Click()
If CheckBox1.Value = False Then
MsgBox "F"
End If
End Sub
但是这段代码不起作用;我认为是因为复选框是动态添加的。
这只是解决问题的代码的简化。
【问题讨论】:
-
您也可以将 opt 创建为 Module 变量而不是 Sub 变量?把
Private opt As Control放在你的Option Explicit之后,去掉Dim opt As Variant,然后你可以使用If Not opt.Value Then MsgBox "F"