Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  VBA - SUMIFS (Summewenns)-Problem

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA - SUMIFS (Summewenns)-Problem (7739 mal gelesen)
Darksidy
Mitglied
Controller


Sehen Sie sich das Profil von Darksidy an!   Senden Sie eine Private Message an Darksidy  Schreiben Sie einen Gästebucheintrag für Darksidy

Beiträge: 16
Registriert: 29.05.2013

erstellt am: 04. Sep. 2014 16:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Sep. 2014 19:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Darksidy 10 Unities + Antwort hilfreich

Hi,

versuche es mal auf diesem Weg:

Code:
= Evaluate("SUMPRODUCT((JDatum>=VonDatum)*(JDatum<=BisDatum)*(Sollk=B3)*Betrag)")

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 04. Sep. 2014 21:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Darksidy 10 Unities + Antwort hilfreich

Ich habe noch etwas getestet, und nun funktioniert es auch mit SUMIFS

Code:
= Evaluate("SUMIFS(Betrag,JDatum,"">=""&VonDatum,JDatum,""<=""&BisDatum,Sollk,B3)")

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Darksidy
Mitglied
Controller


Sehen Sie sich das Profil von Darksidy an!   Senden Sie eine Private Message an Darksidy  Schreiben Sie einen Gästebucheintrag für Darksidy

Beiträge: 16
Registriert: 29.05.2013

erstellt am: 09. Sep. 2014 09:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Herzlichen Dank! Funktioniert einwandfrei auch mit SUMIFS!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz