使用卸载我关闭Userform不起作用

时间:2012-02-28 22:45:27

标签: excel vba excel-vba excel-2010

当用户点击提交按钮并执行操作时,我需要使用VBA关闭Excel用户窗体。

如何从自身关闭Userform?

我试过了,但它返回了361错误。

Unload Me

4 个答案:

答案 0 :(得分:25)

根据最佳答案的说明,我在按钮控件后面的代码中使用了以下内容。

Private Sub btnClose_Click()
    Unload Me
End Sub

这样做时,它不会尝试卸载控件,而是卸载按钮控件所在的用户表单。 "我"关键字是指用户表单对象,即使从用户表单上的控件调用也是如此。如果您在使用此技术时遇到错误,可能有几个原因。

  1. 您可能在错误的位置输入代码(例如 单独的模块)

  2. 您可能正在使用旧版Office。我使用的是Office 2013.我注意到VBA会随着时间的推移而发生变化。

  3. 根据我的经验,使用DoCmd ....方法更具体到MS Access中的宏功能,但在Excel VBA中并不常用。

    在正常(开箱即用)条件下,上面的代码应该可以正常工作。

答案 1 :(得分:11)

如果没有看到完整的代码,就无法肯定地回答这个问题。当您尝试卸载控件而不是表单时,通常会发生错误。

确保括号中没有“我”。

此外,如果您可以发布用户表单的完整代码,那将大有帮助。

答案 2 :(得分:4)

卸载我仅在从userform self调用时才有效。如果要从另一个模块代码(或用户表单)关闭表单,则需要使用卸载功能+ userformtoclose名称。

我希望它的帮助

答案 3 :(得分:-1)

还应注意,如果您在用户表单上将按钮分组在一起,则尽管您打算单击该按钮,它也可以将其链接到组中的另一个按钮。