我正在做一个文档级的 excel 项目。这是第三个版本。
其中一个工作表包含一个列表对象(来自数据库的数据)。然后有单元格包含如下公式
this.Range["F15"].Formula = "=COUNTIFS(HotList_ListObject[Product],E15,HotList_ListObject[Got_Interest],\"<>\")"
以前,我只是通过拖放来创建表格。然后只需在工作表中创建一个公式。并且公式被重新计算为 listobject 中的数据(上面的 HotList_ListObject)。
这一次,我通过代码创建了表格。因为在应用程序运行之前 Hotlist_ListObject 不在工作表上,所以我在通过代码创建列表对象后提供了公式。
我浏览了互联网并进行了一些测试。
当我按 F9、SHIFT+F9 和 CTRL+ALT+F9 时,它不会重新计算。
只有当我按 CTRL+SHIFT+ALT+F9 时,它才会重新计算
我为 CTRL+SHIFT+ALT+F9 找到的解释是
重新检查相关公式,然后计算所有打开的工作簿中的所有公式,无论它们自上次以来是否已更改。
似乎因为公式是通过代码在工作表中提供的,所以它不会创建指向依赖公式或其他东西的链接,因此它不会重新计算。(我想是这样的)
我的用户不会在每次修改/添加/删除列表中的记录时按下按钮。
我能做些什么来解决这个问题?如何告诉 Excel 每次在 listobject 中发生任何变化时,公式都需要重新计算。
感谢您提前提供任何建议!
亲切的问候马克