我正在尝试使用与 builtin 类似的语法编写 Excel UDF,SUMIFS
即带有类似的签名
Function myUDF(param1 As Type1, ParamArray paramRest() As Variant) As MyType
但条件是 ParamArray 必须具有偶数个元素(理想情况下是偶数类型)。这是可能吗?
例如,如果您尝试输入=SUMIFS(A:A,B:B,1,C:C)
一个单元格,Excel 将抱怨使用错误数量的参数(因为 ParamArray 将是Array(Range("B:B"),1,Range("C:C"))
并且因此具有奇数个元素)。我想要相同的行为myUDF
。
目前我在事后处理它:
If UBound(paramRest) Mod 2 <> 1 Then
myUDF = CVErr(xlErrValue)
Exit Function
End If
但这感觉很“脏”。