确定用户何时单击x-VBA

时间:2016-08-02 19:21:16

标签: vba excel-vba excel

我想以编程方式决定用户是否点击了右上方" x"在visual basic中使用表单时按钮。

我试过了:

Private Sub nameOfForm_Exit()
     'code goes here
End Sub

哪个不成功。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:5)

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    MsgBox "Good bye"

    '/ To prevent user from closing the form
    '/ Set cancel to True

    Cancel = True

    MsgBox "You can't close me!"
End Sub

答案 1 :(得分:3)

enter image description here 你不能发明自己的术语,如“退出”。您必须将它们放在上面的组合框中(称为事件)。由于您的事件属于Userform本身,因此您需要在左侧组合框中选择Userform。您还将看到您的用户表单具有的所有控件,每个控件都有一组事件。

如前所述,QueryClose将引用右上角的红色X.您还有Deactivate,只要UserForm失去焦点(如果是ModeLess,意味着用户可以单击userform后面的工作表而不关闭它,这将触发Deactivate)和Terminate,这将在Userform关闭QueryClose后发生