0

我在 VBA 中有一些自定义函数,我想用标准的 excel 按钮"Calculate Now""Calculate sheet"重新计算。整个工作簿已将“计算选项”设置为“手动”

当我按下“计算表”按钮时,一切正常。我可以根据需要多次重新计算工作表。

如果我按下“立即计算”按钮,就会出现问题。重新计算整个工作簿,但不再可能进行进一步的重新计算。既不是“立即计算”按钮,也不是“计算表”。

我希望有可能捕获“立即计算”事件,捕获它并将其调用到各个工作表的“计算表”事件。或者在函数之后Worksheet_Calculate()为单元格设置一些标志以将它们注册到下一次重新计算。

Private Sub Worksheet_Calculate()
   ' Register all cells in sheet to next recalculation
End Sub 

有可能摆脱这个问题吗?我想使用标准的 excel 按钮进行重新计算。但我每次按下它们时都需要它们工作。

4

1 回答 1

3

“立即计算”和“计算工作表”的行为是设计使然。因为在“现在计算”之后,所有的都会被计算出来。无需任何更改,无需再次计算。但是“计算表”仅根据一些陈旧的数据计算工作表。所以下次再计算。

建议您使用“Application.AfterCalculate”事件。每次“立即计算”后都会触发它。

希望所有这些都是有帮助的。

于 2019-11-22T02:57:17.740 回答