我创建了一个包含两个复选框的用户表单。我希望能够根据每个框是否选中或未选中来执行不同的操作。然而,似乎无论我做什么,它总是会告诉我复选框的原始值(false 和 false)。以下是单击 CommandButton1 所附的代码:
Private Sub CommandButton1_Click()
ReadData
End Sub
这里读取数据:
Sub ReadData()
Dim myForm As UserForm
Set myForm = UserForms.Add("ComplaintEntryForm")
Debug.Print (myForm!CheckBox1.Name)
Debug.Print (myForm!CheckBox1.Value)
Debug.Print (myForm!CheckBox2.Name)
Debug.Print (myForm!CheckBox2.Value)
End Sub
无论如何选中这些框,立即窗口始终显示以下内容:
VBA.UserForms.Add("ComplaintEntryForm").Show
CheckBox1
False
CheckBox2
False
我有整个操作的屏幕截图,但它不允许我上传,因为我是新用户。
尝试使用此方法来加载并显示表单(这在普通模块中):
Sub main()
Dim myForm As ComplaintEntryForm
Set myForm = New ComplaintEntryForm
myForm.Show
Set myForm = Nothing
End Sub
在 UserForm 自己的模块中,添加以下内容:
Private Sub CheckBox1_Change()
readData
End Sub
Private Sub CheckBox2_Change()
readData
End Sub
Private Sub UserForm_Initialize()
Me.CheckBox1.Value = True
Me.CheckBox2.Value = False
End Sub
Private Sub readData()
Debug.Print Me.CheckBox1.Name
Debug.Print Me.CheckBox1.Value
Debug.Print Me.CheckBox2.Name
Debug.Print Me.CheckBox2.Value
End Sub
我已将两个复选框初始化为中的特定值Initialize
事件。这意味着我们确定表单开始时的状态
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)