Excel即使更改了单个单元格也刷新整个工作表



我正在制作一个Excel插件,并在其中创建了一些自定义函数。现在我的用户已经创建了一些函数(150+自定义函数),所有这些自定义函数都有参数作为表中其他单元格的引用。当用户更新一些文本单元格时(无论是否在某些函数调用中引用),整个工作表被刷新,Excel在所有具有自定义函数的单元格中显示繁忙。我明白,如果一个单元格在一些自定义函数中被引用并且它被更新,则该自定义函数被调用以显示更新的数据,但当用户编辑未在任何函数中引用的单元格时,它不应该发生。

我不能更改表计算模式为手动,因为它将停止更新由用户更改的其他单元格。另外,如果我将计算模式更改为手动,并将其更改回自动再次刷新整个工作表,因此将其设置为手动有缺点,而在我的情况下没有获得任何东西。

您的udf是否可能使用易变公式,例如NOW,TODAY,RANDBETWEEN,OFFSET,INDIRECT,INFO,SUMIF,RAND或者您声明您的udf是易失的?在这种情况下,如果任何单元格发生更改,则重新计算函数。例如,如果您用RAND填充十万行,则在向空白单元格输入任何值后需要几秒钟才能重新计算。

关于易挥发公式的更多信息:函数中的Volatile值

关于udf中volatile公式的更多信息:Excel重新计算

最新更新