Teilergebnis per VBA in Excel erstellen
Schritt-für-Schritt-Anleitung
Um ein Teilergebnis in Excel per VBA zu erstellen, folge diesen Schritten:
-
Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu starten.
-
Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle „Einfügen“ > „Modul“.
-
Füge den folgenden Code ein:
Sub TeilergebnisEinfügen()
Dim Start As Integer
Dim intLastRow1 As Long
intLastRow1 = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' Nächste leere Zeile
' Summe bilden Spalten 8 bis 72
For Start = 8 To 72
Dim Bereich As Range
Set Bereich = Range(Cells(4, Start), Cells(100, Start))
Cells(intLastRow1, Start).FormulaR1C1 = "=SUBTOTAL(9,R4C:R100C)"
Next Start
End Sub
-
Speichere das Makro und schließe den VBA-Editor.
-
Führe das Makro aus: Gehe zu „Entwicklertools“ > „Makros“ und wähle „TeilergebnisEinfügen“ aus, um das Makro auszuführen.
Häufige Fehler und Lösungen
Alternative Methoden
Neben der VBA-Methode kannst du auch manuell die Funktion TEILERGEBNIS verwenden:
- Wähle die Zelle aus, in der das Teilergebnis erscheinen soll.
- Gib die Formel ein:
=TEILERGEBNIS(9;A4:A100) (wobei 9 für die Summe steht).
- Drücke
Enter, um das Ergebnis anzuzeigen.
Diese Methode ist besonders nützlich, wenn du keine VBA-Kenntnisse hast.
Praktische Beispiele
Hier sind einige Beispiele, wie du SUBTOTAL in verschiedenen Szenarien verwenden kannst:
-
Summe aller sichtbaren Werte:
Cells(intLastRow1, Start).FormulaR1C1 = "=SUBTOTAL(9, R4C:R100C)"
-
Durchschnitt aller sichtbaren Werte:
Cells(intLastRow1, Start).FormulaR1C1 = "=SUBTOTAL(1, R4C:R100C)"
-
Anzahl der sichtbaren Werte:
Cells(intLastRow1, Start).FormulaR1C1 = "=SUBTOTAL(2, R4C:R100C)"
Tipps für Profis
- Nutze
WorksheetFunction.Subtotal in VBA, wenn du programmgesteuert mit Teilergebnissen arbeiten möchtest.
- Du kannst die Funktion
Application.WorksheetFunction.Subtotal verwenden, um innerhalb von VBA Teilergebnisse zu berechnen und diese in Variablen zu speichern, bevor du sie in Zellen einfügst.
- Denke daran, dass die Funktion
SUBTOTAL eine sehr flexible Funktion ist, die sich an unterschiedliche Bedarfe anpassen lässt.
FAQ: Häufige Fragen
1. Was ist der Unterschied zwischen TEILERGEBNIS und SUMME?
TEILERGEBNIS (SUBTOTAL) kann nur sichtbare Werte in gefilterten Daten summieren, während SUMME alle Werte berücksichtigt, unabhängig von ihrer Sichtbarkeit.
2. Wie kann ich die TEILERGEBNIS-Funktion in VBA verwenden?
Verwende die Methode Cells(x, y).FormulaR1C1 = "=SUBTOTAL(...) in deinem VBA-Skript, um die Formel in die gewünschte Zelle einzufügen.
3. Welche Excel-Version benötige ich für die Verwendung von SUBTOTAL in VBA?
Die Funktion SUBTOTAL ist in allen modernen Excel-Versionen verfügbar, also ab Excel 2007 und höher.