在模块variables更改上运行VBAmacros

每当同一模块中的某个variables发生更改时,是否有办法在模块中运行macros?

范围仅限于我认为使“Workbook_SheetChange”等技术无法接受的模块是很重要的。

我有一个function,我希望返回一个初始值,然后触发另一个子更新工作表的其他部分,但所有的代码必须包含在单个模块

解决这个问题的方法是

  • 维护一个你想要监控的全局variables,比方说每10秒钟一次
  • 运行你的监控Sub每10秒使用Application.OnTime (谷歌如何使用这个)
  • 你的监视Sub应该把这个variables和一个旧的拷贝比较,这个拷贝也被保存为一个全局variables。
    • 如果没有检测到变化,则什么也不做。
    • 如果检测到更改,则更新PrevValue以反映所监视variables的更新值,然后调用您需要调用的任何其他子例程。