【发布时间】:2019-04-24 10:49:05
【问题描述】:
使用 Excel 2011(应与 Excel 2010 相同)
代码位于 Excel 中的“ThisWorkbook”模块下
事件已启用
宏已启用
我似乎无法让Workbook_Open() 或Workbook_BeforeClose() 执行。我已经阅读了很多关于这个主题的帖子,但没有解决方案。这是一些应该执行但不执行的简单测试代码。任何帮助将不胜感激。
Private Sub Workbook_Open()
ActiveSheet.Range("BL4").Value = "Open is working"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next 'in case the menu item has already been deleted
ActiveSheet.Range("BL5").Value = "Close is working"
End Sub
【问题讨论】:
-
注释掉
On Error Resume Next时是否出现错误?尝试将MsgBox "Hello"添加到这两个事件中,看看是否至少会显示一条消息。 -
您是说“ThisWorkBook”而不是“ThisSheet”吗?
-
它们可以是私有的。不会有什么不同。
-
您是把这些放在 Workbook 对象中还是放在单独的模块中?
-
为了完整起见,您的代码在运行 Excel 2013 的 Windows 7 PC 和在 OS X 下运行 Excel 2013 的 MacBook Pro 上运行良好。只是一个愚蠢的想法,但几乎让我失望。您正在查看右侧的单元格 BL4 和 5 不在屏幕右侧?