Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

sumproduct und InStrRev

sumproduct und InStrRev
25.11.2004 10:40:31
pauls
Hallo zusammen,
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)&gt0,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.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sumproduct und InStrRev
IngoG
Hallo Paul,
versuchs doch mal so:
variable=[=if(right(Bereich,2)="ps",1,0)]
wenn der erste Befehl funzt sollte auch dieser funktionieren.
evt mußt du den Vergleich noch mit lcase() kombinieren um Groß-/Kleinschreibung zu handlen.
Gruß Ingo
AW: sumproduct und InStrRev
25.11.2004 11:33:13
paulst
Meine Befehle funktionieren schon. Leider Funktioniert dein Vorschlag nicht.
Aber trotzdem Vielen Dank.
AW: sumproduct und InStrRev
IngoG
Hallo nochmal,
vielleicht stellst Du einfach eine kleine Testdatei ins netz, an der man das problem genauer nachvollziehen kann.
Gruß Ingo
so funzt es bei mir
IngoG
Hallo Paul,
folgender Code läuft bei mir:

Sub ttt()
Dim zaehler As Range
Dim polNeug
Dim variable
Dim AnzpolNeugKapHV As Double
Dim Anzahl As Double
Set zaehler = Range("$R$2:$R$13")
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)
MsgBox AnzpolNeugKapHV
variable = [=if(right($H$2:$H$13,2)="ps",1,0)]
Anzahl = Application.WorksheetFunction.SumProduct(variable, zaehler)
MsgBox Anzahl
End Sub

Gruß Ingo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige