Vba 带有类似SUMIFS的ParamArray约束的Excel UDF
我试图用与内置的SUMIFS类似的语法来编写一个Excel自定义项,即Vba 带有类似SUMIFS的ParamArray约束的Excel UDF,vba,excel,parameters,paramarray,Vba,Excel,Parameters,Paramarray,我试图用与内置的SUMIFS类似的语法来编写一个Excel自定义项,即 函数myUDF(param1作为Type1,ParamArray paramRest()作为变量)作为MyType 但是ParamArray必须具有偶数个元素(理想情况下为偶数类型)的条件。这有可能吗 例如,如果您试图在单元格中输入=SUMIFS(A:A,B:B,1,C:C),Excel会抱怨使用了错误数量的参数(因为ParamArray将是数组(范围(“B:B”),1,范围(“C:C”),因此元素数量为奇数)。我希望myU
函数myUDF(param1作为Type1,ParamArray paramRest()作为变量)作为MyType
但是ParamArray必须具有偶数个元素(理想情况下为偶数类型)的条件。这有可能吗
例如,如果您试图在单元格中输入=SUMIFS(A:A,B:B,1,C:C)
,Excel会抱怨使用了错误数量的参数(因为ParamArray将是数组(范围(“B:B”),1,范围(“C:C”)
,因此元素数量为奇数)。我希望myUDF具有相同的行为
目前我在事后处理:
If UBound(paramRest) Mod 2 <> 1 Then
myUDF = CVErr(xlErrValue)
Exit Function
End If
如果UBound(paramRest)Mod 2 1,则
myUDF=CVErr(Xlerr值)
退出功能
如果结束
但这感觉很“脏”。“我记得‘干净’。”-古斯·海恩斯,有线电视台记者,我想知道是否有更干净的解决方案,但我对此表示怀疑。