在其他函数运行后运行UDF?

时间:2015-10-13 11:16:31

标签: excel vba api post udf

我有一个UDF,它收集其他函数的结果并将它们发送到计算和发送响应的Web API。 e.g。

           A                      B                   C               D
7  =CalcResult(E7, F7)    =CalcResult(G7, H7)        234     =SendToAPI(A7,B7,C7)
8  =CalcResult(E8, F8)    =CalcResult(G8, H8)        274     =SendToAPI(A8,B8,C8)
9         ...                    ...                 ...             ...

当您运行SendtoAPI时,它会发送到API两次,其中2个空值和c中的值,然后第二个在calcResult完成后使用正确的数据。

有没有任何先下调用的排序方式?

将SendToAPI设置为最后运行?

1 个答案:

答案 0 :(得分:3)

UDF通常在计算序列中使用尚未计算的参数调用时多次计算。 UDF将未计算的变量参数显示为空变量:因此,如果任何参数为空,则解决方案是退出UDF而不发送到Web API。

有关详细信息,请参阅我的网站页面http://www.decisionmodels.com/calcsecretsj.htm

我的博文https://fastexcel.wordpress.com/2011/11/25/writing-efficient-vba-udfs-part-7-udfs-calculated-multiple-times/