Application.EnableEvents = true每次返回false

我打开了我的Excel表格,然后打开VBA编辑器。在即时窗口中,我执行以下命令。

?Application.EnableEvents = True 

它返回False。 但是,如果我打开新的Excel表格,input命令,则返回True。 任何理由

我不相信命令在做你认为的事情。

请记住,VBA重载=运算符是分配和比​​较,并使用上下文来决定哪个是哪个。

这个? 运营商让VBA相信你问的是“这两个相同”,而不是“设置这个”。

一些示例代码:

 Application.EnableEvents = False ? Application.EnableEvents False ? Application.EnableEvents = True False ? Application.EnableEvents = False True ? Application.EnableEvents True Application.EnableEvents = True ? Application.EnableEvents True ? Application.EnableEvents = True True ? Application.EnableEvents = False False ? Application.Enableevents True 

请注意,没有? 命令更改值 – 它们都只是报告比较是否正确,而不调整variables。 只有一个平面的任务就可以做到。