2

我正在尝试使用与 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

但这感觉很“脏”。

4

0 回答 0