Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Summe von Autofilter-Ergebnissen per VBA

Forumthread: Summe von Autofilter-Ergebnissen per VBA

Summe von Autofilter-Ergebnissen per VBA
30.11.2005 10:47:17
Autofilter-Ergebnissen
Guten Morgen miteinander,
ich versuche seit gestern per VBA mir die Ergebnisse von einem Autofilter summieren zu lassen.
Mit TEILSUMME komme ich irgendwie nur manuell klar, aber es soll ja automatisch berechnet werden.
Die Tabelle sieht so aus, dass in Zeile 2 ein Autofilter gesetzt ist, der u.a. in Spalte D nach Umsätzen filtert (in den folgenden zeilen kommen dann die Ergebnisse)
In den Spalten vorher kann man dann halt z.B. Monat, Abteilung etc. auswählen.
Ich hätte jetzt gerne, dass mir in Zelle G2 die Summe aller Umsätze ausgegeben wird, die als Ergebnisse des Autofilters angezeigt werden.
Ich hatte es mit VBA probiert, aber da bringt er mir immer die Summe aus der Gesamtliste. Wenn jetzt z.B. im Autofilter Eintrag 135 und 136 aus der Liste angezeigt werden, dann summiert mir mein VBA nicht nur die zwei Einträge, sondern alle, von 1-136 aus der Gesamtliste ;(
Bitte helft mir, bin am verzweifeln.
Gruß
Hans
Hier mein Code:

Sub Umsatz()
Dim Ende As Integer
Application.Calculation = xlManual
Range("D2").Activate
Selection.End(xlDown).Select
Ende = ActiveCell.Row
Range("G2").FormulaLocal = "=Summe(D2:D" & Ende & ")"
Application.Calculation = xlAutomatic
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Summe von Autofilter-Ergebnissen per VBA
Autofilter-Ergebnissen
Hi,
ersetze die Summenfunktion durch die TEILERGEBNIS-Funktion.
AW: Summe von Autofilter-Ergebnissen per VBA
30.11.2005 10:55:02
Autofilter-Ergebnissen
Hallo Hans,
versuchs so:
[D2]=WorksheetFunction.Sum([D:D].SpecialCells(xlCellTypeVisible))
Marc
AW: Summe von Autofilter-Ergebnissen per VBA
30.11.2005 10:55:41
Autofilter-Ergebnissen
Sorry, falsch angehängt!
Hallo Hans,
versuchs so:
[D2]=WorksheetFunction.Sum([D:D].SpecialCells(xlCellTypeVisible))
Marc
Anzeige
AW: Summe von Autofilter-Ergebnissen per VBA
30.11.2005 12:11:04
Autofilter-Ergebnissen
klappt super mit deinem einzeiler, vielen dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Summe von Autofilter-Ergebnissen in Excel per VBA


Schritt-für-Schritt-Anleitung

Um die Summe von Autofilter-Ergebnissen in Excel per VBA zu berechnen, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, wähle "Einfügen" und dann "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub Umsatz()
        Dim Ende As Integer
        Application.Calculation = xlManual
        Range("D2").Activate
        Selection.End(xlDown).Select
        Ende = ActiveCell.Row
        Range("G2").FormulaLocal = "=TEILERGEBNIS(9;D2:D" & Ende & ")"
        Application.Calculation = xlAutomatic
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.

  5. Führe das Makro aus: Drücke ALT + F8, wähle "Umsatz" und klicke auf "Ausführen".

Mit diesem VBA-Skript wird die Summe der sichtbaren Zellen in der Spalte D berechnet, nachdem du einen Autofilter angewendet hast.


Häufige Fehler und Lösungen

  • Problem: Das Skript summiert alle Werte, anstatt nur die gefilterten.

    • Lösung: Stelle sicher, dass du die Funktion TEILERGEBNIS anstelle von SUMME verwendest, da TEILERGEBNIS nur sichtbare Zellen berücksichtigt.
  • Problem: Der Autofilter ist nicht aktiv.

    • Lösung: Überprüfe, ob der Autofilter in deiner Tabelle richtig gesetzt ist. Er sollte auf die Spalte D angewendet werden.

Alternative Methoden

Neben der Verwendung von VBA gibt es auch andere Methoden, um die Summe gefilterter Werte zu berechnen:

  • Direkte Verwendung von Formeln: Du kannst in Zelle G2 die folgende Formel verwenden:

    =TEILERGEBNIS(9;D:D)

    Diese Formel summiert alle sichtbaren Zellen in der Spalte D, wenn ein Autofilter aktiv ist.

  • Excel Filter Summe: Du kannst auch die Funktion =SUMMEWENN() verwenden, wenn du spezifische Kriterien hast, die du filtern möchtest.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit Umsätzen in der Spalte D. Wenn du einen Autofilter anwendest, um nur die Umsätze eines bestimmten Monats anzuzeigen, kannst du die oben genannte VBA-Lösung oder die TEILERGEBNIS-Formel verwenden, um die Summe der gefilterten Umsätze automatisch zu berechnen.


Tipps für Profis

  • Automatisiere den Prozess: Du kannst das Makro so anpassen, dass es beim Ändern der Filter automatisch ausgeführt wird, indem du es mit dem Worksheet-Change-Ereignis verbindest.
  • Verwende Variablen für Flexibilität: Du kannst die Bereiche in deinem VBA-Code dynamisch gestalten, um die Wartung zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich die Summe ändern, wenn ich die Filtereinstellungen ändere?
Du kannst das VBA-Skript so modifizieren, dass es sich automatisch aktualisiert, wenn du Änderungen an den Filtern vornimmst.

2. Funktioniert dieses Vorgehen in allen Excel-Versionen?
Ja, die beschriebenen Methoden sind in den meisten modernen Excel-Versionen verfügbar, vorausgesetzt, VBA ist aktiviert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige