在另一个UDF中使用Excel UDF

时间:2013-11-27 11:48:28

标签: excel excel-vba user-defined-functions vba

是否可以在另一个内部使用一个UDF?

例如列A,B,C,D。

UDF1(w,x) - 计算A的最大值和B的最大值的乘积UDF2(y,z) - 计算C的最大值和D的最大值的乘积

UDF1和UDF2正常工作。

UDF3计算UDF1和UDF2的乘积(在单元格计算中很简单)

我可以将UDF3作为输入(w,x,y,z),然后将w,x传递给UDF1,将y传递给UDF2 - 从UDF1和UDF2返回答案并计算产品吗?

(我知道还有其他方法可以做我所描述的 - 我感兴趣的概念) -

背景: 我正在尝试编写Excel内部编程的示例,首先构建简单的UDF然后再循环它们(有点像子程序) - 再次,我很欣赏有更好的方法来实现这一点。

干杯 ģ

1 个答案:

答案 0 :(得分:1)

  

我可以将UDF3作为输入(w,x,y,z),然后将w,x传递给UDF1,将y传递给UDF2 - 从UDF1和UDF2返回答案并计算产品吗?

这是一个例子。将其粘贴到模块中。我正在使用SUM进行演示。

Function MainF(rng1 As Range, rng2 As Range, _
rng3 As Range, rng4 As Range) As Long
    Dim x As Long, y As Long

    x = a(rng1, rng2)
    y = b(rng3, rng4)

    MainF = x + y
End Function

Function a(rng1 As Range, rng2 As Range) As Long
    a = rng1.Value + rng2.Value
End Function

Function b(rng1 As Range, rng2 As Range) As Long
    b = rng1.Value + rng2.Value
End Function

enter image description here