为什么 sh.calculate 不计算工作表 "sh" 中的公式?

Why sh.calculate does not calculate the formulas in worksheet "sh"?

这就是我想要的:用户在不同的单元格中输入公式。此时不应计算任何内容。然后 she/he 运行计算这些单元格中所有公式的宏,结果显示在这些单元格中。

所以:我把计算设为手动。并定义了我的宏来调用:sh.calculate。 sh 是用户将要使用的作品sheet。

问题:即使在 运行 宏之后,这些单元格仍然显示公式而不是结果。即如果一个单元格是: =2+2 ,在 运行 宏之后它仍然显示 =2+2 而不是 4.

打开excel文件时,我是这样设置为手动计算的:

 Application.Calculation = xlCalculationManual

用户将公式添加到用户窗体 sheet 中的不同单元格后,he/she 运行此宏:

sub calcFormulas()
    dim sh as Worksheet
    Set sh= ThisWorkbook.Sheets("UserForm")
    sh.Calculate
End Sub

迈克,

您是否在代码中添加了以下语法?

Range("B5").Formula = "=2+2"

而不是像

Range("B5") = "=2+2"

如前所述,您的 sh 文件的代码将非常有用。

如果单元格格式为“文本”,则输入的公式不会被执行,而是被视为纯文本。将单元格格式更改为例如“标准”并检查结果。