当用户点击提交按钮并执行操作时,我需要使用VBA关闭Excel用户窗体。
如何从自身关闭Userform?
我试过了,但它返回了361错误。
Unload Me
答案 0 :(得分:25)
根据最佳答案的说明,我在按钮控件后面的代码中使用了以下内容。
Private Sub btnClose_Click()
Unload Me
End Sub
这样做时,它不会尝试卸载控件,而是卸载按钮控件所在的用户表单。 "我"关键字是指用户表单对象,即使从用户表单上的控件调用也是如此。如果您在使用此技术时遇到错误,可能有几个原因。
您可能在错误的位置输入代码(例如 单独的模块)
您可能正在使用旧版Office。我使用的是Office 2013.我注意到VBA会随着时间的推移而发生变化。
根据我的经验,使用DoCmd ....方法更具体到MS Access中的宏功能,但在Excel VBA中并不常用。
在正常(开箱即用)条件下,上面的代码应该可以正常工作。
答案 1 :(得分:11)
如果没有看到完整的代码,就无法肯定地回答这个问题。当您尝试卸载控件而不是表单时,通常会发生错误。
确保括号中没有“我”。
此外,如果您可以发布用户表单的完整代码,那将大有帮助。
答案 2 :(得分:4)
卸载我仅在从userform self调用时才有效。如果要从另一个模块代码(或用户表单)关闭表单,则需要使用卸载功能+ userformtoclose名称。
我希望它的帮助
答案 3 :(得分:-1)
还应注意,如果您在用户表单上将按钮分组在一起,则尽管您打算单击该按钮,它也可以将其链接到组中的另一个按钮。