1

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

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

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

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

注意: 我无法解决此问题,因为当我选择其中一个单元格时,将光标放在公式字段中,然后按回车键(可能是强制单元格计算),就会出现正确的答案。


我的问题:

  • 需要做些什么来防止 Excel for Mac 返回#value错误而不是简单的结果?
4

1 回答 1

1

我终于弄清楚是什么导致了这个问题,虽然我不知道它为什么会导致这个问题:

为了让vba代码运行得更快,我automatic calculation在代码开始的时候关闭了,在代码的最后又重新开启,就像这样-->

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

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

于 2013-08-09T12:32:54.400 回答