每次返回false时,Application.EnableEvents = true

时间:2013-10-14 07:22:50

标签: excel vba excel-vba excel-2010

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

?Application.EnableEvents = True

返回False。 但是,如果我打开新的Excel工作表并键入命令,则返回True。任何原因

1 个答案:

答案 0 :(得分:1)

我不相信命令正在按照你的想法行事。

请记住,VBA会将=运算符重载为赋值和比较,并使用上下文来决定哪个是哪个。

?运营商让VBA相信您要求"这两个是否相同"而不是"将此设置为#34;。

一些示例代码:

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

请注意,没有?命令更改值 - 所有这些命令仅报告比较是否为真,而不调整变量。只有平面任务才能完成。