Workbook_BeforeClose不起作用

时间:2018-03-24 13:16:31

标签: excel vba excel-vba

我从“Workbook_BeforeClose”中理解的是,点击“X”关闭Excel后命令应该有效。

我的代码是;

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Makro").Range("A2") = 0   
End Sub

当我重新打开这个excel工作簿时,我想看到范围“A2”为零(“0”)。但我重新打开了excel,它不是零。我无法理解。

我想知道我是否误解了这个vba代码。

如果你对我有所帮助,我将非常感谢你。

4 个答案:

答案 0 :(得分:2)

试一试,

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Me.Worksheets("Makro").Range("A2") = 0
    Me.Save
End Sub

如果您不想保存,请将其更改为

Option Explicit

Private Sub Workbook_Open()
    Me.Worksheets("Makro").Range("A2") = 0
End Sub

答案 1 :(得分:0)

Private Sub Auto_Open()
Sheets("Makro").Range("A2") = 0   
End Sub

Private Sub Auto_Close()
Sheets("Makro").Range("A2") = 0   
End Sub

代码解决了我的问题。

谢谢。

答案 2 :(得分:0)

您可以尝试以下方法:

Private Sub Workbook_BeforeClose(取消为布尔值)

使用表格(“Sheet1”)。范围(“a2”)

.Value = "ABC"

结束

End Sub

答案 3 :(得分:0)

发现这个问题试图解决我的问题,结果他们的代码是正确的。 不需要 Option ExplicitSave

只要确保你有

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook 窗口中。如果它位于其中一个工作表或模块中,它将无法工作。