sumproduct und InStrRev
25.11.2004 10:40:31
pauls
ich habe ein kleines Problem, welches für die Fachleute in diesem wohl besten Forum kein wahres Problem darstellen sollte.
Ich verwende in meinem VBA-Code die Funktion SumProduct um aus einer Spalte nur bestimmte Einträge aufzusummieren. Dies funktioniert folgendermaßen:
Zaehler = Range("$R$2:$R$13") 'Hier stehen Anzahlen drin
' Die folgende Anweisung erzeugt einen ARRAY in denen an jeder Stelle
' wo die Bedingung erfüllt ist, eine 1 ansonsten eine 0 drinsteht.
polNeug = [=if($J$2:$J$13="Neuzugang - Neuzugang",1,0)]
' Die folgende Funktio summiert alle Anzahlen auf, die die Bedingung polNeug
' erfüllen
AnzpolNeugKapHV = Application.WorksheetFunction.SumProduct(polNeug, Zaehler)
Und jetzt mein Problem. Ich möchte in einer vergleichbaren Weise zuerst eine Spalte überprüfen, ob am Ende eines jeden Eintrages "ps" steht. Wenn ja, sollen die Anzahlen aufsummiert werden. Folgendes funktioniert nicht:
Bereich=Range("$H$2:$H$13")
variable=[=if(InStrRev(Bereich,"ps",-1)>0,1,0)]
Anzahl=Application.WorksheetFunction.SumProduct(variable,Zaehler)
Wer das Problem löst hat meinen Dank. Wer das ohne Schleife löst hat meinen ewigen Dank.
Vielen Dank für Eure Mühe.