我打开了我的 excel 表,然后打开了 VBA 编辑器。在即时窗口中,我执行以下命令。
?Application.EnableEvents = True
它返回 False 。但是,如果我打开新的 excel 工作表并键入它返回 True 的命令。任何理由
我打开了我的 excel 表,然后打开了 VBA 编辑器。在即时窗口中,我执行以下命令。
?Application.EnableEvents = True
它返回 False 。但是,如果我打开新的 excel 工作表并键入它返回 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
请注意,没有 ? 命令更改值-所有命令都仅报告比较是否为真,而无需调整变量。只有一个平面作业才能做到这一点。