使用日期条件的sumif / sumifs函数中的vba对象所需的错误

时间:2017-11-28 09:18:47

标签: vba excel-vba excel

我在vba中使用这一行:

ActiveSheet.Range("U5").Value = Application.WorksheetFunction.SumIf(ActiveSheet.Range("U2:U4").Value, ">" & Date - 721, ActiveSheet.Range("T2:T4").Value)

我得到了

  

对象必需错误

我认为这是因为Date,但我不确定什么是正确的语法。

2 个答案:

答案 0 :(得分:1)

不要使用SumIf中的Range属性,因为该函数需要ActiveSheet.Range("U5").Value = Application.WorksheetFunction.SumIf(ActiveSheet.Range("U2:U4"), ">" & Date - 721, ActiveSheet.Range("T2:T4")) 作为参数。这应该有效:

{{1}}

在这种情况下,intellisense会提示这一点,你也可以将它应用于第三个参数:

enter image description here

答案 1 :(得分:1)

WorksheetFunction.SumIf函数第一个参数是Range,而不是Value;同样适用于第三个参数。

注意:尽量不要依赖ActiveSheet

With Worksheets("Sheet1") ' modify "Sheet1" to your sheet's name
    .Range("U5").Value = WorksheetFunction.SumIf(.Range("U2:U4"), ">" & Date - 721, .Range("T2:T4"))
End With