如何在Workbook_BeforeSave之前阻止Excel触发Worksheet_Change?

Cam*_*ilB 13 excel events vba

更新:问题已解决我的 一位同事正在更改单元格Workbook_BeforeSave()而不禁用事件,因此触发Worksheet_Change().是的,愚蠢,但至少这是我们的错,而不是Excel

我注意到每当我在Excel中按Ctrl + S时,都会Worksheet_Change()被触发Workbook_BeforeSave().是否有可能使用VBA代码来抑制此行为,但不会压制所有事件(即没有Application.EnableEvents = false)?

无论我在做什么,都会发生这种情况.我读过有关ComboBoxes有类似问题的人,但我没有编辑ComboBoxes,但Worksheet_Change()在保存之前总会激活.

有任何想法吗?我只是试图弄清楚如何在Worksheet_Change()保存文档时绕过一些代码,因为该代码只应在用户实际更改内容时执行,而不是在保存工作簿时执行.储蓄绝不会改变......

Cam*_*ilB 24

这是我们方面的编码错误:

我的一位同事在Workbook_BeforeSave()期间更改了一个单元格而没有禁用事件,因此触发了Worksheet_Change().

修复很简单.在Workbook_BeforeSave()中:

Application.EnableEvents = False
' Some final changes
Application.EnableEvents = True
Run Code Online (Sandbox Code Playgroud)

就是这样:)