excel - 您能否告诉 Excel 不要重新计算其内容基于 COM 组件的单元格?

标签 excel com worksheet-function

我有一个使用 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/

相关文章:

java - 是否有 API 可以使用 Java 将 Excel 文件转换为 CSV 文件?

在任务 Pane 中使用时,WPF 组合框不会保持打开状态

c# - 在 COM DLL 和 C# 之间进行通信

python - 包含 header 的 innerhtml 的替代方案?

excel - 使用 COUNTIF/VLOOKUP 进行库存管理

excel - 合并两张表并保留冗余数据

Excel vba 到 Mac

com - 如何在运行时注册 COM 库?

vba - 如何在 Excel 中实现可重置、可覆盖的默认单元格值?

excel - 类模块中的 WithEvent 未从 Excel VBA 中的 Let 属性获取变量