用户窗体关闭时拉选项按钮值

时间:2018-08-15 18:09:06

标签: excel vba excel-vba

我环顾四周寻找答案,但是我看到的所有内容都在工作表上带有选项按钮,而不是像我想要的用户表单。

快速浏览:用户单击工作表上的按钮以将信息添加到列表中,但需要选择他们要添加到的列表。我弹出一个带有选项按钮的用户表单,以选择要添加到的表单。

问题是,当我返回代码时,似乎无法获取按钮的值。我猜想当我卸载用户表单时,所有变量和对象都被清除了,所以我想将一个值保存到一个全局变量中,但是用户表单的范围和代码的范围似乎并没有相互讨论其他。

关于如何将选项按钮的值从用户表单中拉入模块代码的任何想法?

我尝试了这些不同的变化:

    Not OptionButton1 Is Empty

    If UserForm1.OptionButton2 = True

    If UserForm1.OptionButton3.Value = True

1 个答案:

答案 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