0

当我们使用 VBA 将 UDF 添加到 MS-Excel 时,插入时函数会被计算两次:

1) 一旦在 FUNCTION ARGUMENTS 对话框中将所有参数提供给函数:因此结果在 FUNCTION ARGUMENTS 对话框本身中显示为公式结果

2) 在 FUNCTION ARGUMENTS 对话框中单击 OK 后:因此结果显示在相应的单元格中。

我还提到了两次调用目标函数时停止 VBA 评估,但它使函数永远不会被评估。

我可以知道一种停止对 UDF 函数进行双重评估的方法吗?

谢谢

4

1 回答 1

2

如果双重评估的问题是速度考虑(UDF需要很长时间计算),那么我建议如下。

  1. doCalculate添加调用到 UDF的额外参数
  2. 在工作表的单元格 A1 中输入 FALSE
  3. 将 UDFdoCalculate参数指向单元格 A1
  4. doCalculate如果为false ,添加一行代码退出函数

这样,UDF 将不会从函数对话框中计算。但是,您可以通过将 A1 更改为 TRUE 来激活 UDF

于 2013-05-02T14:12:59.267 回答