Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SumIf mit zwei Kriterien in VBA

SumIf mit zwei Kriterien in VBA
19.06.2004 13:07:35
Marc
Hallo Forum,
muß euch erneut um Hilfe bitten:
Ich möchte in VBA eine SumIf-Funktion implementieren, die Werte einer Spalte C in Zelle D1 aufsummiert, wenn z.B. in der Spalte A der Wert 1 und in Spalte B der Wert 2 steht.
Wer kann helfen?
Schon mal besten Dank!
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Summenprodukt
19.06.2004 14:58:08
Christoph
Hallo Marc,
welche Formel benutzt du denn, um diese Summe zu berechnen?
Mit "SUMMEWENN" fällt mir da im Moment keine Lösung ein.
Hier ein Bsp mit Summenprodukt
Gruß
Christoph

Sub Makro1()
Range("D1").FormulaLocal = _
"=SUMMENPRODUKT((A1:A100="Wert1")*(B1:B100="Wert2")*C1:C100)"
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

SumIf mit zwei Kriterien in VBA


Schritt-für-Schritt-Anleitung

Um eine SumIf-Funktion in VBA zu implementieren, die zwei Kriterien berücksichtigt, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf "Einfügen" und wähle "Modul".
  3. Schreibe den VBA-Code:

    • Verwende den folgenden Code, um die Werte in Spalte C zu summieren, wenn in Spalte A der Wert 1 und in Spalte B der Wert 2 steht:
    Sub SumIfMitZweiBedingungen()
       Dim summe As Double
       summe = Application.WorksheetFunction.SumIfs(Range("C1:C100"), Range("A1:A100"), 1, Range("B1:B100"), 2)
       Range("D1").Value = summe
    End Sub
  4. Führe das Makro aus:

    • Klicke im VBA-Editor auf "Ausführen" oder drücke F5, um das Makro auszuführen.

Häufige Fehler und Lösungen

  • Fehler: Typen nicht übereinstimmend:

    • Stelle sicher, dass die Bereiche (z.B. Range("C1:C100")) die gleiche Anzahl an Zeilen enthalten.
  • Fehler: Objektvariable oder With-Blockvariable nicht festgelegt:

    • Überprüfe, ob du die richtige Arbeitsmappe oder das richtige Arbeitsblatt verwendet hast.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch die SUMMENPRODUKT-Funktion direkt in Excel nutzen. Der folgende Code zeigt, wie du dies in einem VBA-Makro machen kannst:

Sub SumProduktAlternative()
    Range("D1").FormulaLocal = "=SUMMENPRODUKT((A1:A100=1)*(B1:B100=2)*C1:C100)"
End Sub

Diese Methode ist besonders nützlich, wenn du mit dynamischen Daten arbeitest.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung von SumIf und SumIfs in VBA:

  1. Beispiel für SumIf mit einem Kriterium:

    Sub SumIfBeispiel()
       Range("D1").Value = Application.WorksheetFunction.SumIf(Range("A1:A100"), 1, Range("C1:C100"))
    End Sub
  2. Beispiel für SumIf mit zwei Bedingungen:

    Sub SumIfMitZweiBedingungenBeispiel()
       Dim ergebnis As Double
       ergebnis = Application.WorksheetFunction.SumIfs(Range("C1:C100"), Range("A1:A100"), "1", Range("B1:B100"), "2")
       Range("D1").Value = ergebnis
    End Sub

Tipps für Profis

  • Nutze die Range-Objekte effizient: Statt Range("A1:A100") kannst du auch Range("A:A") verwenden, um die gesamte Spalte zu berücksichtigen.
  • Achte auf die Datenformate: Wenn die Werte in Spalte A und B als Text formatiert sind, stelle sicher, dass du sie in der entsprechenden Form anforderst (z.B. "1" statt 1).
  • Teste deine Makros in einer Kopie deiner Arbeitsmappe, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen SumIf und SumIfs?
SumIf wird verwendet, um eine Summe basierend auf einem einzelnen Kriterium zu berechnen, während SumIfs es ermöglicht, mehrere Kriterien zu verwenden.

2. Wie kann ich SumIf mit Textkriterien verwenden?
Du kannst SumIf auch mit Textkriterien verwenden, indem du die Kriterien in Anführungszeichen setzt, z.B. =SumIf(A1:A100, "Textwert", C1:C100).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige