带有像SUMIFS一样的ParamArray约束的Excel UDF
我正在尝试使用类似于内置SUMIFS
语法对Excel UDF进行编码,即使用类似的签名
Function myUDF(param1 As Type1, ParamArray paramRest() As Variant) As MyType
但ParamArray必须具有偶数个元素(理想情况下甚至是Type)的条件。 这是可能吗?
例如,如果您尝试在单元格中input=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
但是那感觉“肮脏”。