下面的示例必须按顺序给出可选参数;因此 ShowHeaders 必须先于 ValueAdd 等等。如果我想指定 ValueAdd,我*必须*指定 ShowHeaders:
Function Example(Value1, Optional ShowHeaders = "Headers=N", Optional ValueAdd = "Sprd=0")
我希望能够指定一个或多个(相对)大的可选参数列表:1)但不是按顺序,2)不一定全部。
对于 1)我在想,也许可以列出一个通用的参数列表,例如,而不是上面做的:
Function Example(Value1, Optional Arg1, Optional Arg2)
然后随后检查 Arg1 的最左边部分是否 = "Headers=" 或 "Sprd=" 等等,然后对 Arg2 执行相同的操作。这很好,但似乎效率不高,我打算创建具有 > 10 个可选参数的 UDF。上面的解决方案也可以解决 2) 但我只是觉得它的编码不是很好。
2)我知道我们可以使用
If IsMissing(Arg) Then
但这并不能真正解决我们指定函数的顺序。