VBA宏中的Userform正在关闭整个Excel文件

时间:2015-04-30 15:14:57

标签: excel vba excel-vba userform

我创建了一个包含多个函数的UserForm。

当我打开Excel文件时,表单会打开,但是如果我尝试将Excel文件关闭在一起。另外,我无法打开此Excel的VBA(包含表单),所以我所做的(实际上是dum)是打开另一个Excel,按 Alt + F11 打开宏环境,然后我可以用UserForm打开我的Excel文件。

我认为我的问题出在这个特定的代码中:

Private Sub UserForm_Terminate()
    'Application.Visible = True
    ActiveWorkbook.Saved = True
    Application.Quit
End Sub

有谁可以猜到这里有什么问题?

2 个答案:

答案 0 :(得分:0)

如果您只想关闭Userform,请使用Unload Me代替Application.Quit

答案 1 :(得分:0)

您需要将您的用户形式显示为无模式

UserForm.Show False

通过这种方式,您可以在UF后面导航,甚至可以直接打开VBA。

显然,如果您在退出用友时关闭主机应用程序,那么其他任何事情都会变得更难!

所以这可能是一个更好的解决方案:

Private Sub UserForm_Terminate()
    ActiveWorkbook.Saved = True
    'ThisWorkbook.Save


    If MsgBox("Do you want to close Excel?", vbOKCancel + vbQuestion, "Exit Excel?") <> vbOK Then
        'Do nothing
    Else
        Application.Quit
    End If
End Sub

我不知道你的行ActiveWorkbook.Saved = True是什么,如果要保存或只是退出而没有留言,因为你没有保存文件。