【问题标题】:Run Macro Based On Worksheet Change (Cell Contains Formula)根据工作表更改运行宏(单元格包含公式)
【发布时间】:2017-12-15 11:59:55
【问题描述】:

我认为我提出了一个相当合理/标准的要求,而迄今为止我尝试过的方法都被证明是不成功的。

我正在运行 Excel 2013 32 位,在单元格 J7 的工作表 6 中,我有一个经常更改的第三方公式。基本上我想在每次单元格值更改时调用一个宏。

请记住,这个单元格是一个公式(我已经尝试将这个第三方公式更改为一个简单的公式,例如 A1+B1,但它并没有改变行为)。

基本上,Excel 不会调用我的宏并识别此单元格中的更改,除非我手动键入公式或在 Excel 单元格中按 F2 并按 Enter,或者如果我单击公式框并按 Enter(所有步骤都需要用户点击)。

这是我尝试过的方法(都是工作表更改或工作表计算的变体)。如果有什么明显的我遗漏或我没有尝试过的方法,请告知,谢谢。

https://www.extendoffice.com/documents/excel/4423-excel-run-macro-on-cell-change.html

http://www.dbforums.com/showthread.php?1661517-Execute-Macros-From-Formulas-(Or-Cell-Value)

How can I run a VBA code each time a cell get is value changed by a formula?

https://www.linkedin.com/pulse/20140623100408-92734594-how-to-execute-excel-vba-macro-on-change-of-specific-cell-in-excel-sheet

https://www.excelforum.com/excel-programming-vba-macros/400984-change-in-cell-from-formula-to-auto-run-a-macro.html

http://www.ozgrid.com/forum/showthread.php?t=144429

Run VBA Script When Cell Value Change by Formula

VBA code doesn't run when cell is changed by a formula

Trigger macro when any cell containing formula changes

automatically execute an Excel macro on a cell change

【问题讨论】:

  • 这是什么third-party formula
  • 您需要一个全局变量来存储 Sheet6 的值,单元格 J7,可以在工作簿打开时填充此全局变量。然后在 worksheet_calculate 事件中,检查该单元格的值是否与全局变量的值不同。如果它们不同,则公式计算产生了新结果,其余代码可以触发,否则不要运行其余代码。如果您发布示例数据和您当前的代码尝试,则故障排除会更容易。
  • 嗨 @UGP 这是一个 SAP 公式。
  • 你好Tigeravatar,请看附件。
  • 我对 SAP 了解不多,但是您是否尝试过使用公式将另一个 Cell 链接到 Cell?如果那些更新它可能会触发Worksheet_Calculate 事件

标签: vba excel byval


【解决方案1】:

所以看起来这个第三方插件有一个事件,我可以用它来提供相同的最终目标。它不会在该工作表更改时激活,但它提供了我正在寻找的解决方案。

这是一个 AFTER_REFRESH 事件,这意味着当通过第三方功能区触发 REFRESH 时,它将按照我的意愿运行我的 vba。

感谢大家的想法/意见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多