如何在MS Excel参数对话框中停止VBA函数显示公式结果



当我们使用VBA向MS-Excel添加UDF时,该函数在插入时被求值两次:

1)一旦在函数参数对话框中给了函数所有的参数,结果就会在函数参数对话框中显示为公式结果

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

我也提到停止VBA评估从调用目标函数两次,但它使函数不得到评估。

我能知道一种停止对UDF函数进行双重求值的方法吗?

谢谢

如果双重求值的问题是速度方面的考虑(UDF需要很长时间来计算),那么我建议如下:

  1. 向UDF添加一个名为doCalculate的额外参数
  2. 在工作表
  3. 单元格A1中设置FALSE
  4. 将UDF doCalculate参数指向单元格A1
  5. 添加一行代码,当doCalculate为false时退出函数

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

最新更新