返回“静态”值的Excel UDF

时间:2015-05-14 15:47:48

标签: excel-vba vba excel

我写了一个UDF,只需要花很多时间来计算。该公式实际上计算了多个值,因此用户需要输入的参数之一是哪个值应该公式输出。

所以我的问题是" UDF是否有可能记住它在另一个小区中计算时所做的计算?"我想这与Static变量的行为类似。

这是我公式的伪代码:

Public Function UDF(repeat as integer, return as integer) as Integer
    Dim array(1 To 2) as Integer

    array(1) = 2 * repeat
    array(2) = 3 * repeat

    UDF = array(return)
End

这是一个补充这个公式的样本表

    A         | B
1   "Repeats" | 2,000,000
2   "UDF #1"  | =UDF(B1,1) 
3   "UDF #2"  | =UDF(B1,2)

正如您在本示例中所看到的,两个UDFs仅随返回类型而变化,一旦第一个计算出第二个"可能"使用该计算而不是从头开始重新计算。

0 个答案:

没有答案