Excel UDF с ограничением ParamArray, например, SUMIFS
Я пытаюсь закодировать Excel UDF с синтаксисом, аналогичным встроенному SUMIFS
то есть с подписью вроде
Function myUDF(param1 As Type1, ParamArray paramRest() As Variant) As MyType
но условие, что ParamArray должен иметь четное количество элементов (в идеале даже Typed). Это вообще возможно?
Например, если вы пытаетесь ввести =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
Но это чувствует себя "грязным".