我正在使用 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(使用前将#替换为@)