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

Teilergebnis in Tabelle VBA

Forumthread: Teilergebnis in Tabelle VBA

Teilergebnis in Tabelle VBA
30.08.2018 14:22:05
Mole
Hallo zusammen,
mit folgendem Code füge ich die Ergebniszeile (Summe) einer Tabelle hinzu.

Worksheets("Compr Fails").ListObjects("KompTab").ListColumns("value").TotalsCalculation =  _
xlTotalsCalculationSum

Da mit der Tabelle gearbeitet wird und ab und zu ein Filter angewendet wird, hätte ich gerne in der Ergebniszeile nicht die normale Summe sondern die Summe über die Teilergebnisfunktion (109).
Ich finde leider den VBA code dazu nicht. Kann mir einer bitte weiterhelfen?
Vielen Dank und viele Grüße
Mole
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilergebnis in Tabelle VBA
30.08.2018 14:48:17
ChrisL
Hi
TEILERGEBNIS = WorksheetFunction.SubTotal()
Aber ich glaube das geht nur direkt auf der Tabelle angewendet, weil dein ListObject ungefiltert ist. So mindestens meine Annahme.
cu
Chris
AW: Teilergebnis in formatierter Tabelle mit VBA
31.08.2018 20:27:32
Gerd
Hallo M.
With Worksheets("Compr Faile").ListObjects("KompTab")
.ShowTotal = True
.Range(.Range.Rows.Count, .ListColumns("value").Index).Formula = "=SUBTOTAL(109, [value])"
End With
Gruß Gerd
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Teilergebnis in Tabelle mit VBA erstellen


Schritt-für-Schritt-Anleitung

Um ein Teilergebnis in einer Tabelle mit VBA zu erstellen, kannst du die folgenden Schritte befolgen:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    With Worksheets("Compr Fails").ListObjects("KompTab")
       .ShowTotal = True
       .Range(.Range.Rows.Count, .ListColumns("value").Index).Formula = "=SUBTOTAL(109, [value])"
    End With
  4. Schließe den VBA-Editor: Speichere deine Änderungen und schließe den Editor.

  5. Führe das Makro aus: Kehre zu Excel zurück und führe das Makro aus, um das Teilergebnis zu aktivieren.

Dieser Code setzt die Teilergebnisfunktion (109) auf die Spalte "value" in der Tabelle "KompTab".


Häufige Fehler und Lösungen

  • Fehler: Ungültiger Objektfehler

    • Lösung: Stelle sicher, dass der Tabellenname und die Spaltenbezeichnung korrekt sind. Überprüfe auch, ob die Tabelle tatsächlich existiert.
  • Fehler: Ergebnis wird nicht aktualisiert

    • Lösung: Achte darauf, dass die Tabelle gefiltert ist, wenn du die Teilergebnisfunktion anwendest. Andernfalls wird die Summe nicht korrekt angezeigt.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Funktion SUBTOTAL direkt in die Excel-Zelle eingeben:

  1. Wähle die Zelle aus, in der das Teilergebnis angezeigt werden soll.
  2. Gib die folgende Formel ein:

    =SUBTOTAL(109, [value])

Diese Methode erfordert kein VBA und ist einfach zu verwenden, wenn du die Tabelle nicht regelmäßig ändern musst.


Praktische Beispiele

Angenommen, du hast eine Tabelle mit Verkäufen und möchtest die Summe der gefilterten Werte in der Spalte "Umsatz" berechnen. Verwende den VBA-Code aus der Schritt-für-Schritt-Anleitung und ersetze "value" mit "Umsatz".

Hier ist ein Beispiel für den angepassten Code:

With Worksheets("Sales Data").ListObjects("SalesTable")
    .ShowTotal = True
    .Range(.Range.Rows.Count, .ListColumns("Umsatz").Index).Formula = "=SUBTOTAL(109, [Umsatz])"
End With

Tipps für Profis

  • Nutze die SUBTOTAL-Funktion für verschiedene Berechnungen, indem du die erste Zahl in der Funktion änderst (z. B. 101 für die Anzahl der Werte).
  • Achte darauf, dass deine Daten korrekt formatiert sind, um Fehler bei der Berechnung zu vermeiden.
  • Wenn du regelmäßig mit gefilterten Daten arbeitest, speichere deine VBA-Codes als Makros, um sie schnell wiederverwenden zu können.

FAQ: Häufige Fragen

1. Wie kann ich das Teilergebnis für mehrere Spalten hinzufügen?
Du kannst mehrere SUBTOTAL-Formeln in die Ergebniszeilen jeder Spalte einfügen, indem du den VBA-Code anpasst und die Zeilen für jede gewünschte Spalte hinzufügst.

2. Funktioniert dieser Code in Excel 365?
Ja, der Code ist mit Excel 365 und früheren Versionen kompatibel, solange du die VBA-Funktionalität in deiner Excel-Installation aktiviert hast.

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