Excel for Mac - 包含用户定义函数的单元格不会更新

时间:2013-08-07 18:28:01

标签: macos worksheet-function vba

我正在研究一些VBA代码,它将包含用户定义函数(UDF)的公式写入我的工作簿的某些单元格中,例如:H1004 = maxdd(H1:H1001)

当我在 Excel 2010(适用于Windows)中运行代码时,一切都按预期工作:

1)将公式写入单元格中 2)每个单元格返回正确的结果。

当我在 Excel 2011 for Mac 中运行相同的代码时,公式也会写入单元格。但是,单元格不会返回任何有效结果 - 而是显示#value错误。

注意:我无法解决此问题,因为当我选择其中一个单元格时,将光标放在公式字段中,然后按返回(可能强制要求单元格进行评估),正确答案出现了。


我的问题:

  • 要使Excel for Mac不会返回#value错误而不是简单的结果,需要做些什么?

1 个答案:

答案 0 :(得分:1)

我终于想通了 导致了这个问题,虽然我不知道为什么导致了这个问题:

为了让vba代码运行得更快,我在代码开头关闭了automatic calculation并在代码末尾将其重新打开,就像这样 - >

Application.Calculation = xlCalculationManual  
'main part of vba code
Application.Calculation = xlCalculationAutomatic

由于某种原因,这使得包含用户定义函数的单元格不会被更新 没有这两行代码,现在一切正常。