是否可以将所有UDF全局设置为volatile?

时间:2014-10-29 16:19:49

标签: vba excel-vba excel

我有几个功能,如:

function testXYZ(rng as range)

doSomething()

end function

我希望每次工作表中的任何值更改时都重新计算函数,因此我已将它们单独更改为:

function testXYZ(rng as range)

Application.Volatile     
doSomething()

end function

有没有办法全局设置Application.Volatile,还是必须逐个功能完成?

1 个答案:

答案 0 :(得分:2)

它必须在逐个函数的基础上完成,但您可能需要考虑将Workbook.ForceFullCalculation设置为True。
这将使每次重新计算重新计算包括您的函数在内的每个公式。当然,这也会使你的计算速度变慢,就像Application.Volatile一样 您可以在Workbook_Open事件中执行此操作