Hallo zusammen
Ich habe folgende Tabelle (Tabellenblatt "Journal"):
Spalte A - Datum
Spalte B - Soll-Buchung
Spalte C - Haben-Buchung
Spalte D - Betrag
Die Überschrift ist jeweils in Zeile2, das heisst, die ersten Einträge starten ab Zeile3. Um das ganze dynamisch zu machen, habe ich jeweils Namen definiert:
Beispielsweise für den Betrag:
Code:
=BEREICH.VERSCHIEBEN(Journal!$D$3:$D$3;;;ANZAHL(Journal!$D:$D);)
Der Name für Datum lautet "JDatum", der für Soll-Buchung "Sollk" und der für Haben-Buchung "Habk".
In einem zweiten Tabellenblatt (Cockpit) kann man den Bericht eingrenzen (von in Zelle A7, - bis in Zelle A9).
Um nur mal die Soll-Buchung zusammenzuzählen, benutze ich eine einfache SUMMEWENNS-Formel:
Code:
=SUMMEWENNS(Betrag;JDatum;">="&VonDatum;JDatum;"<="&BisDatum;Sollk;B3)
Das letzte Kriterium (B3) ist einfach als erster Wert, das mache ich dann in VBA noch dynamisch mit einem Loop. Dafür erhalte ich einen Wert - normal in Excel ist das kein Problem. Nun, wenn ich das Ganze in VBA abbilden möchte, ist der Output immer 0.
Ich habe schon verschiedenste Varianten probiert, es gelingt mir einfach nicht. Dies der Code in VBA:
Code:
Sub SummeWennSTest()VonDat = [VonDatum]
BisDat = [BisDatum]
Suchkr = [B3]
[E10] = Application.WorksheetFunction.SumIfs([Betrag], _
[JDatum], " <= " & BisDat, _
[JDatum], " >= " & VonDat, _
[Sollk], Suchkr)
End Sub
Weitere Angaben sind:
VonDatum ist der Name für Zelle A7 in "Cockpit". (habe da bspw. 01.01.2011 verwendet)
BisDatum ist der Name für Zelle A9 in "Cockpit". (habe da bspw. 31.12.2011 verwendet)
Das Datum vor B3 ist in diesem Zeitraum (bspw. 15.03.2011).
Danke für Eure Unterstützung!
Beste Grüsse
Darksidy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP