我环顾四周寻找答案,但是我看到的所有内容都在工作表上带有选项按钮,而不是像我想要的用户表单。
快速浏览:用户单击工作表上的按钮以将信息添加到列表中,但需要选择他们要添加到的列表。我弹出一个带有选项按钮的用户表单,以选择要添加到的表单。
问题是,当我返回代码时,似乎无法获取按钮的值。我猜想当我卸载用户表单时,所有变量和对象都被清除了,所以我想将一个值保存到一个全局变量中,但是用户表单的范围和代码的范围似乎并没有相互讨论其他。
关于如何将选项按钮的值从用户表单中拉入模块代码的任何想法?
我尝试了这些不同的变化:
Not OptionButton1 Is Empty
If UserForm1.OptionButton2 = True
If UserForm1.OptionButton3.Value = True
答案 0 :(得分:2)
请勿从其代码中卸载用户窗体,因此请使用Me.Hide
而不是Unload Me
这样,一旦您在代码中删除了用户表单,便可以访问用户表单成员
所以您的主要代码可能像
Sub main()
With UserForm1 ' load the userform
.Show ' show the useform
MsgBox .OptionButton1 ' <-- you still have access to Userform1 members
MsgBox .OptionButton2
MsgBox .OptionButton3
End With
Unload UserForm1 ' unload userform1
End Sub
退出用户表单代码如下:
Private Sub CommandButton1_Click()
Me.Hide ' just hide the userform, but still keep it "alive"
End Sub