在另一个 UDF 中使用插件中的 UDF
Using an UDF from an Add-in in another UDF
我在 Excel 中加载了一个插件,其中包含我所有的 UDF。
其中之一叫做毕达哥拉斯。它的定义如下:
Function Pythagoras(Optional side1, Optional side2, Optional hypotenusa)
If Not (IsMissing(side1)) And Not (IsMissing(side2)) Then
Pythagoras = Sqr(side1 ^ 2 + side2 ^ 2)
Else
If Not (IsMissing(side1)) And Not (IsMissing(hypotenusa)) Then
Pythagoras = Sqr(hypotenusa ^ 2 - side1 ^ 2)
Else
If Not (IsMissing(side2)) And Not (IsMissing(hypotenusa)) Then
Pythagoras = Sqr(hypotenusa ^ 2 - side2 ^ 2)
Else
Pythagoras = "Please supply two arguments."
End If
End If
End If
End Function
它很好地出现在 "User Defined"-列表中并且工作完美。
但是,我的问题是我似乎无法找到如何在另一个 UDF 中使用它。
这是不可能的事情吗?如果可以,我该怎么做?
看着有点乱,但是你可以这样引用函数:
retval = Application.Run("'NAME_OF_YOUR_ADDIN.xlam'!Pythagoras", s1, s2, ha)
我在 Excel 中加载了一个插件,其中包含我所有的 UDF。
其中之一叫做毕达哥拉斯。它的定义如下:
Function Pythagoras(Optional side1, Optional side2, Optional hypotenusa)
If Not (IsMissing(side1)) And Not (IsMissing(side2)) Then
Pythagoras = Sqr(side1 ^ 2 + side2 ^ 2)
Else
If Not (IsMissing(side1)) And Not (IsMissing(hypotenusa)) Then
Pythagoras = Sqr(hypotenusa ^ 2 - side1 ^ 2)
Else
If Not (IsMissing(side2)) And Not (IsMissing(hypotenusa)) Then
Pythagoras = Sqr(hypotenusa ^ 2 - side2 ^ 2)
Else
Pythagoras = "Please supply two arguments."
End If
End If
End If
End Function
它很好地出现在 "User Defined"-列表中并且工作完美。
但是,我的问题是我似乎无法找到如何在另一个 UDF 中使用它。
这是不可能的事情吗?如果可以,我该怎么做?
看着有点乱,但是你可以这样引用函数:
retval = Application.Run("'NAME_OF_YOUR_ADDIN.xlam'!Pythagoras", s1, s2, ha)