Excel VBA 中的函数重载和 UDF

2023-12-26

我正在使用 Excel VBA 编写 UDF。我想用几个不同的版本重载我自己的 UDF,以便不同的参数调用不同的函数。

由于 VBA 似乎不支持这一点,任何人都可以建议一种好的、不混乱的方法来实现相同的目标吗?我应该使用可选参数还是有更好的方法?


将你的论点声明为Optional Variants,然后您可以使用以下命令来测试它们是否丢失IsMissing()或使用检查它们的类型TypeName(),如下例所示:

Public Function Foo(Optional v As Variant) As Variant

    If IsMissing(v) Then
        Foo = "Missing argument"
    ElseIf TypeName(v) = "String" Then
        Foo = v & " plus one"
    Else
        Foo = v + 1
    End If

End Function

这可以从工作表中调用为=FOO(), =FOO(number), or =FOO("string").

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel VBA 中的函数重载和 UDF 的相关文章

随机推荐