0

比如说,我们有以下非易失性 UDF:

Function Twice(ByRef x As Double) As Double
    Application.Volatile False
    Twice = 2 * x
End Function

A1我们参考 cell输入一个单元格A2,即我们输入A1

= Twice(A2)  

此外,A2我们将随机函数放入其中,即A2我们放入:

=RAND()  

现在,如果我们重新计算工作表(例如,按Shift+ F9),单元格中的值A2将会改变,但 UDF 不会更新,即使它的引用已经改变。

当它的参考值改变时,我们怎样才能使这个UDF自动更新(即不按Ctrl++ Alt) ?F9

4

1 回答 1

0

当您将 Application.Volatile False 与引用 volatile 公式的 Double 参数一起使用时,我认为这是一个错误。

如果您删除 Application.Volatile False 语句,它可以正常工作。

请参阅https://fastexcel.wordpress.com/2011/09/05/false-volatility-is-this-a-bug/ 以更详细地讨论此问题并推测其原因。

于 2015-09-15T10:07:42.200 回答