总和IF VBA错误'' - 对象不支持此属性或方法

时间:2016-07-04 13:38:17

标签: vba sumifs

我不知道为什么它给了我' 438' - 对象不支持此属性或方法错误,在" Sumif"功能线。

如何在VBA中执行sumif函数?

Application.WorksheetFunction.SumIfs(Range("N2:N" & RSum), Range("C" & rw), Range("S2:S" & RSum))

以下是整个代码:

 Sub Macro1()
    Dim LR As Integer
    Dim rw As Integer
    Dim RSum As Integer

    LR = Range("C" & Rows.Count).End(xlUp).Row
    RSum = Range("n" & Rows.Count).End(xlUp).Row
        For rw = 2 To LR

            If Not IsEmpty(Range("C" & rw).Value) Then

            Range("G" & rw).Value = Application.WorksheetFunction.SumIfs(Range("N2:N" & RSum), Range("C" & rw), Range("S2:S" & RSum))

            End If

            If Range("G" & rw).Value = 0 Then
                Range("G" & rw).Value = "-"
                Range("F" & rw).Value = "No"
            ElseIf Range("G" & rw).Value <> 0 Then
                Range("F" & rw).Value = "Yes"

            End If
        Next rw
    End Sub

Excel Version 2002。

2 个答案:

答案 0 :(得分:0)

也许您的第二个和第三个参数已切换?

第二个参数应为Range criteria_range1 ,第三个参数应为 criteria1

尝试:

 Range("G" & rw).Value = Application.WorksheetFunction.SumIfs(Range("N2:N" & RSum), Range("S2:S" & RSum), Range("C" & rw))

答案 1 :(得分:0)

这似乎是正确的,只需要了解Sumifs公式的标准。 Sumif的顺序是 - 1.Sum_range 2.Criteria_range 3.Criteria等。 所以正确的语法是 -

范围(“G”&amp; rw).Value = Application.WorksheetFunction.SumIfs(范围(“N2:N”和RSum),范围(“S2:S”和RSum),范围(“C”) &amp; rw))

有关更多此类问题,您可以查看 - https://knowledgebase.techandmate.com

谢谢,