2016-07-04 6 views
1

Ich weiß nicht, warum es mir '438' - Objekt unterstützt diese Eigenschaft oder Methode Fehler in der "Sumif" Funktionszeile nicht.Sum IF VBA Fehler '438' - Objekt unterstützt diese Eigenschaft oder Methode nicht

Wie kann ich die Sumif-Funktion in VBA?

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

Und hier ist der gesamte Code:

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.

+0

application.sumifs Versuchen, oft application.worksheetfunction funktioniert nicht. – Phil

+0

Eine Menge wurde seit Excel 2002 aktualisiert, ich würde empfehlen, eine neuere Version zu verwenden, damit in Zukunft mehr Leute Ihnen helfen können, weil die meisten Leute mindestens Excel 2007 haben. – Michael

Antwort

0

Vielleicht ist Ihre zweite und dritte Parameter eingeschaltet werden?

2. Parameter sould Bereich sein Kriterien_Bereich1 und dritte Parameter sollte Kriterien1 sein.

Versuchen:

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

Ich sah das direkt nachdem ich gepostet habe, fixed es aber gibt mir immer noch die gleiche msg –

+0

@ L.Fim bearbeiten Sie bitte Ihren ursprünglichen Beitrag mit Ihrem aktualisierten Code, weil es immer noch diese Fehler hat. Auf diese Weise können andere Benutzer in der Lage sein, davon wegzuschauen und sich auf andere Gründe zu konzentrieren –

+0

Ich hatte es aktualisiert. –

0

Dies ist nur richtig scheint, dass Sie die Kriterien der SUMIFS Formel verstehen müssen. die Reihenfolge der Sumifs sind 1.Sum_range 2.Criteria_range 3.Criteria und so weiter. So ist die korrekte Syntax würde BE-

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

weitere solche Fragen können Sie https://knowledgebase.techandmate.com

Dank Check-,