Excel VBA SUMIF运行时错误' 424':对象必需

时间:2017-03-10 01:47:35

标签: excel vba excel-vba sumifs

这会产生错误:运行时错误' 424':对象必需

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 / Double

类型
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放入Range中,然后在SUMIF中引用Range,但这也不起作用。

1 个答案:

答案 0 :(得分:3)

您不能将SUMIF用于数组。

  

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

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