2

在 VBA 中,我正在更新单元格中的公式(可以正常工作),但自动重新计算不起作用:

updated_formula = "=COUNT(Sheet1!A3:A" & nr_points & ")"
Cells(x, y).Formula = updated_formula
ActiveWorkbook.Save
Cells(x, y).Calculate

该公式只是计算另一个工作表中现有行的数量。当我运行宏时,函数文本字段中的单元格值是正确的,但是在单元格本身中我有"#NAME?",我需要按下ENTER函数来重新计算公式。

我是否对 Excel 期望过高?还是我做错了什么?

编辑:情况截图——这是我在运行宏后看到的。(抱歉黑屏,必须为客户公司保持匿名)

在此处输入图像描述

4

3 回答 3

9

看到你的截图后,就清楚了。

改变

Cells(x, y).Formula = updated_formula

Cells(x, y).FormulaLocal = updated_formula

于 2013-01-16T15:06:15.453 回答
0

我知道这是一个迟到的帖子,但我有一个类似的问题,对我有用的是改变

Cells(x, y).Calculate

Cells(x, y).Dirty
于 2013-12-09T18:23:09.490 回答
0

您的代码在我的工作表上运行良好,并在宏运行后立即更新计算值。请确保计算选项设置为“自动”:功能区数据选项卡 > 计算选项 > 自动。

于 2013-01-16T15:44:42.590 回答