在模块变量更改时运行VBA宏

时间:2014-07-10 21:05:00

标签: excel vba excel-vba

每次同一模块中的某个变量发生变化时,有没有办法在模块中运行宏?

重要的是,范围仅限于我认为可以制作诸如" Workbook_SheetChange"等技术的模块。不能接受的。

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

1 个答案:

答案 0 :(得分:1)

解决这个问题的方法是

  • 维护一个您想要监控的全局变量,例如每10秒
  • 使用Sub(Google了解如何使用此权限)每10秒运行一次监控Application.OnTime
  • 您的监控Sub应该将变量与旧版本进行比较,旧版本也保留为全局变量。
    • 如果未检测到任何更改,则不执行任何操作。
    • 如果检测到更改,则更新PrevValue以反映受监视变量的更新值,然后调用您需要调用的其他子例程。