Mein Code Umwandlung ist =SUMPRODUCT(H50:AA69*(H5:AA5=B10)*ISNUMBER(MATCH(F50:F69,K18:K24,0)))
Summe mehr Spalten basierend auf Verweise auf mehrere Kriterien - VBA nicht
Wo H50: aa69 meine Datentabelle und h5: AA5 ist meine Reihe von Jahren (b10 meinen Kriterien Jahr, die ich verwenden würde um die Datentabelle zu filtern und die Auswahl auf eine einzelne Spalte zu beschränken). F50: F69 ist eine Spalte mit Bezeichnern, die meinen Kriterienbereich K18: K24 weiter Zeilen aus der einzelnen Spalte herausfiltern würde.
Meine Formel funktioniert in Excel. Ich habe versucht, es in VBA zu übersetzen und ich konnte es nicht zum Laufen bringen. Weiß jemand warum?
Sheet72.Range("C22") = Application.WorksheetFunction.SumProduct((Sheet32. _
Range("h50:AA69")) * (Sheet32.Range("H5:AA5") = year) * _
Application.WorksheetFunction.IsNumber(Application.WorksheetFunction. _
Match(Sheet32.Range("f50:f69"), Sheet72.Range("K18:K24"), 0)))
ist 'Sheet72.' sein soll' Sheet32.'? –
Ihre Übereinstimmung() verursacht einen Laufzeitfehler, wenn sie keinen Treffer erhält. Daher funktioniert die Überprüfung des Rückgabewerts mit isnumber() nicht. –
@scott craner nein, es ist korrekt wie es ist. – lostinOracle