说,我们有以下非易失性UDF:
Function Twice(ByRef x As Double) As Double
Application.Volatile False
Twice = 2 * x
End Function
我们在参考单元格A1
的单元格A2
中输入,即在我们放置的A1
中输入:
= Twice(A2)
此外,在A2
中我们放置了随机函数,即我们放置的A2
:
=RAND()
现在,如果我们重新计算工作表(例如,按 Shift + F9 ),单元格A2
中的值将会改变,但是即使UDF的引用发生了变化,UDF也不会更新。
当参考值发生变化时,我们如何自动更新UDF(即不按 Ctrl + Alt + F9 )?
答案 0 :(得分:0)
当你将Application.Volatile False与引用易变公式的Double参数一起使用时,我认为存在一个错误。
如果删除Application.Volatile False语句,则可以正常工作。
参见https://fastexcel.wordpress.com/2011/09/05/false-volatility-is-this-a-bug/ 有关此事的更详细讨论和关于原因的推测。