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

Funktion "Teilergebnis" in VBA?

Forumthread: Funktion "Teilergebnis" in VBA?

Funktion "Teilergebnis" in VBA?
David
Hallo zusammen,
mit der Formel =TEILERGEBNIS(103;B3:B600) kann ich mir für den definierten Bereich (auf den ein Autofilter angewendet ist) anzeigen lassen, wieviel gefilterte Werte angezeigt werden.
Wie stelle ich das innerhalb eines Makros dar, dass per Schleife mehrere möglichen Filterkombinationen durchgeht und einzeln druckt, damit ich bei 0 (null) ausgewählten Elementen den Ausdruck überspringen kann?
Kann ich dazu einfach den Befehl in VBA übersetzen (Syntax?) oder muss ich das irgendwie anders ermitteln?
Danke und Gruß
David
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Funktion "Teilergebnis" in VBA?
17.03.2010 16:33:55
Reinhard
Hallo David,
vielleicht mit
x= application.Subtotal(103,range("B3:B600")
Gruß
Reinhard
AW: Funktion "Teilergebnis" in VBA?
17.03.2010 16:49:09
David
Hallo Reinhard,
funzt, danke. Hätte man auch selbst drauf kommen können, aber ich wußte nicht genau, wie der Befehl in VBA übersetzt ist.
Gruß
David
AW: Funktion "Teilergebnis" in VBA?
17.03.2010 17:26:32
Reinhard
Hallo David,
hol dir vbeplusde.xla, da sieht man u.a. die Übersetzungen.
siehe https://www.herber.de/forum/messages/1146617.html
Gruß
Reinhard
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Teilergebnis in VBA nutzen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor:

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

    • Rechtsklicke im Projektfenster auf VBAProject (deine Datei) und wähle Einfügen > Modul.
  3. VBA-Code eingeben:

    • Füge den folgenden Code in das Modul ein:
    Sub TeilergebnisAusgeben()
       Dim x As Double
       Dim rng As Range
       Set rng = Range("B3:B600")
    
       x = Application.Subtotal(103, rng)
    
       If x > 0 Then
           Debug.Print "Anzahl gefilterter Werte: " & x
       End If
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und gehe zurück zu Excel. Drücke ALT + F8, wähle TeilergebnisAusgeben und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"

    • Stelle sicher, dass du die richtige Variable deklariert hast. In diesem Fall muss Dim x As Double sein.
  • Fehler: "Anwendungsfehler"

    • Überprüfe, ob der angegebene Zellbereich (B3:B600) tatsächlich Werte enthält und ob der Autofilter aktiv ist.

Alternative Methoden

Eine andere Möglichkeit, das Teilergebnis zu berechnen, ist die Verwendung der Excel-Funktion direkt in einer Zelle:

  • Schreibe in eine Zelle: =TEILERGEBNIS(103;B3:B600). Dies funktioniert nur, wenn der Autofilter aktiv ist.

Du kannst auch die TEILSUMME-Funktion verwenden, um ähnliche Berechnungen durchzuführen, z.B. =TEILSUMME(1;B3:B600).


Praktische Beispiele

Angenommen, du hast eine Liste von Verkaufszahlen in den Zellen B3:B600. Du möchtest herausfinden, wie viele gefilterte Verkaufszahlen vorhanden sind:

Sub VerkaufszahlenTeilergebnis()
    Dim totalSales As Double
    totalSales = Application.Subtotal(103, Range("B3:B600"))

    If totalSales > 0 Then
        MsgBox "Gefilterte Verkaufszahlen: " & totalSales
    Else
        MsgBox "Keine gefilterten Verkaufszahlen vorhanden."
    End If
End Sub

Tipps für Profis

  • Nutze benannte Bereiche: Es kann hilfreich sein, den Zellbereich als benannten Bereich zu definieren, um den Code leserlicher zu machen.

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um mögliche Laufzeitfehler abzufangen und den Code stabiler zu gestalten.

  • Englische Versionen: Die Excel-Funktionen können je nach Sprache unterschiedlich sein. In der englischen Version von Excel würde TEILERGEBNIS als SUBTOTAL übersetzt.


FAQ: Häufige Fragen

1. Wie kann ich das Teilergebnis für verschiedene Filterkombinationen ausgeben?
Du kannst eine Schleife verwenden, um die verschiedenen Filterkombinationen durchzugehen und dabei jeweils das Teilergebnis zu berechnen.

2. Gibt es eine Möglichkeit, das Komma in einer Zahl zu verschieben?
Ja, du kannst die Funktion Excel Zahl Komma verschieben verwenden, um das Format einer Zahl zu ändern. Eine Möglichkeit ist, eine Zahl zu multiplizieren oder zu dividieren, um die Kommastellen zu verschieben.

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