Excel VBA SUMIF运行时错误“424”:Object必需

这会产生一个错误:运行时错误“424”:Object Required

Private Function Y_Mode() As Double Dim MaxGrad As Double MaxGrad = WorksheetFunction.Max(Graduation_Series) Y_Mode = WorksheetFunction.SumIf(Graduation_Series, MaxGrad, Y_Series) End Function 

它在这条线上是失败的:

 Y_Mode = WorksheetFunction.SumIf(Graduation_Series, MaxGrad, Y_Series) 

似乎所有东西都被正确地定义和实例化了,每个数组的元素都是Variant / Doubletypes的

 Watch : + : Graduation_Series : : Variant/Variant(0 to 14) : SU_Solution.Y_Mode Watch : : MaxGrad : 474.281204765715 : Double : SU_Solution.Y_Mode Watch : + : Y_Series : : Variant/Variant(0 to 14) : SU_Solution.Y_Mode 

我尝试将MaxGrad放入一个范围,然后在SUMIF中引用范围,但是这也不起作用。

你不能在数组中使用SUMIF。

可以与SUMIF()工作表函数一起使用的条件仅限于文本,数字或范围,并且该函数不能使用数组常量。

https://support.microsoft.com/en-us/help/275165/when-to-use-a-sum-if-array-formula