使用Userform关闭工作簿

时间:2016-04-19 10:37:21

标签: excel vba excel-vba

我在Excel中创建了一个用户表单,所以当我打开xlsm文件时,它只打开用户表单,并隐藏工作簿。

但是当我使用[X]按钮关闭用户表单时,我希望它关闭工作簿和用户表单而不保存。

当我立即关闭用户表单并尝试再次打开同一个文件时,它表示已经/ stil打开。

启动代码:

Private Sub Workbook_Open()
 Application.Visible = False
 Fordelinger.Show vbModeless
End Sub

关闭代码:

Private Sub Fordelinger_Deactivate()
Application.Quit
Workbooks("EstimatDOK.xlsm").Close True
End Sub

有人可以帮忙吗? :)

2 个答案:

答案 0 :(得分:4)

可能是您想在UserForm代码窗格中使用此代码

Private Sub UserForm_Terminate()
    ThisWorkbook.Close
End Sub

答案 1 :(得分:1)

您可以使用以下代码来限制关闭(X)按钮

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        Cancel = True
        MsgBox "The X is disabled, please use a button on the form to Exit.", vbCritical
    End If
End Sub

Private Sub UserForm_Terminate()
    ThisWorkbook.Close savechanges:=False
    Application.Quit
End Sub