我有一个使用 C# 组件的 Excel 电子表格。
该组件是一个 Excel 插件,通过单元格的公式函数调用。
即
=MyCalculation(C24)
单元格 C24 中有一个硬编码值,即永远不会更改且不基于公式的文本。
但是,如果我为 MyCalculation 检测 C# 代码,我发现在设置过程中每个具有该公式的单元格都会调用 3 次不同的时间。
我已经在 C# 端缓存了计算,但我想知道是否有办法告诉 Excel 该值永远不会改变,并且只需要查找一次?
我假设如果它的依赖关系永远不会改变,那么它就不会重新计算该值。
最佳答案
Excel的计算算法经常会多次计算公式/函数。通常(但取决于版本)在初始计算确定了最终计算序列后,公式/函数仅在依赖于已被弄脏的单元格时才会重新计算(请注意,将单元格设置为“Fred”会弄脏该单元格,即使它已经包含“Fred”)或者是不稳定的。
然而,还有更多异常情况会导致单元格重新计算。
有关于此的更多信息,请访问我的website .
除非禁止整个工作表的计算,否则无法告诉 Excel 永远不要重新计算公式(除了将公式转换为常量之外)。
关于excel - 您能否告诉 Excel 不要重新计算其内容基于 COM 组件的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927727/