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

Forumthread: VBA Diagramme - Datenreihen ausblenden

VBA Diagramme - Datenreihen ausblenden
21.08.2020 12:10:55
Ben
Moin,
ich hab mal wieder eine kleine Frage:
ich möchte je nach Bedarf in einem Diagramm Datenreihen ein- und ausblenden. Über den Makrorecorder hab ich da natürlich was gefunden:
ActiveSheet.ChartObjects("00-Diagramm_SPUA").Activate
ActiveChart.FullSeriesCollection(3).IsFiltered = True
und das funktioniert auch soweit
Nun frage ich mich, ob das auch geht, ohne das Diagramm zu aktivieren, so daß ich es auch von einem anderen Workbook aus machen kann. Hab es mit Namen schon versucht aber es gibt anscheinend kein .RefersToDiagram oder so ähnlich...
Geht das überhaupt?
Danke schonmal!
Ben
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Diagramme - Datenreihen ausblenden
21.08.2020 12:19:25
Werner
Hallo,
schon mal so versucht?
Worksheets("DeinBlattname").ChartObjects("00-Diagramm_SPUA").FullSeriesCollection(3).IsFiltered = True

ungetestet.
Gruß Werner
AW: VBA Diagramme - Datenreihen ausblenden
24.08.2020 15:56:29
Ben
Ja hatte ich, da kommt ein Laufzeitfehler '438' Objekt unterstützt die Eigenschaft oder Methode nicht
Anzeige
und was ist mit....
24.08.2020 16:38:48
Werner
Hallo,
...Beverlys Vorschlag. Ist dir der keine Antwort wert?
Gruß Werner
AW: VBA Diagramme - Datenreihen ausblenden
24.08.2020 17:08:57
Beverly
klar kommt der Laufzeitfehler, weil das eigentliche Objekt fehlt - aber offensichtlich liest du nicht alle Beiträge, besonders nicht die mit den richtigen Antworten...


Anzeige
AW: VBA Diagramme - Datenreihen ausblenden
25.08.2020 16:30:54
Ben
Hallo Beverly, hab das gestern der Reihe nach abarbeiten wollen und hatte den ersten Vorschlag noch versucht und geantwortet, dann waren aber andere Dinge plötzlich wichtiger (ist eine dienstliche Geschichte), so daß ich zu Deinem nicht mehr gekommen bin.
Dein Vorschlag funktioniert (Was Dich sicherlich nicht überrascht ;) ), danke! Mit den ganzen speziellen objektorientierten Geschichten muß ich mich nochmal näher beschäftigen...
Anzeige
AW: VBA Diagramme - Datenreihen ausblenden
25.08.2020 19:04:40
Ben
Bei der Gelegenheit mal eine ganz blöde Frage. Woher bekomme ich denn eine solche Information? (wenn nicht grad von hier... ;) )
Zum einen scheint mir die gesamte Grammatik nicht so richtig logisch zu sein - grundsätzlich schon aber dann scheint irgendwie immer wieder etwas anders zu funktionieren. (bei einer natürlich gewachsenen Sprache sind Ausnahmen und Unregelmäßigkeiten ja durch den Werdegang bedingt aber bei einer konstruierten Sprache dürfte es sowas ja eigentlich nicht geben, oder?)Ich bin da vielleicht etwas altmodisch, aber es müßte doch eine Aufstellung geben, wo ich sehe, wie ich welches Objekt anspreche. Oder ich müßte etwas anklicken und mir dann die Referenz, Hierarchie usw. z.B. übers Kontextmenü anzeigen lassen können...
Wenn ich ChartObjects("00-Diagramm_SPUA") direkt aktivieren kann, dann ist das doch bereits das Objekt - warum muß ich dann erst .Charts anhängen, damit er es auch als solches anspricht? Und woher weiß ich, daß ChartObjects("00-Diagramm_SPUA") ein Unterobjekt des Worksheets ist, und nicht des Workbooks? Am Ende ist es doch egal, solang der Name eindeutig ist. Zell- und Bereichsnamen werden doch auch standardmäßig global für das Workbook festgelegt und nicht für das Worksheet - warum ist das bei Diagrammnamen plötzlich anders? Und eine Aufstellung wie den Namensmanager - so nervig der auch sein mag - gibt es ja auch nicht. Jedenfalls ist mir da einiges bömisch...
Anzeige
AW: VBA Diagramme - Datenreihen ausblenden
25.08.2020 19:57:45
Beverly
Hi Ben,
mal in Kürze: ChartObjects("00-Diagramm_SPUA") sagt eigentlich schon alles aus - es ist "nur" das DiagrammOBJEKT und somit der Container, in welchem sich das eigentliche Chart, also das Diagramm mit allen seinen Unter-Objekten wie Datenreihen, Achsen, Zeichnungsfläche usw., befindet. Wie sich das ganze aufbaut kannst du sehen, wenn du auf ChartObjects("00-Diagramm_SPUA") im VBA-Editor eine Überwachung setzt und dann den Code im Einzelschrittmodus startest - im Überwachungsfenster wird dann ein "Verzeichnisbaum" angezeigt mit der gesamten Hierarchie.


Anzeige
AW: VBA Diagramme - Datenreihen ausblenden
21.08.2020 14:35:08
Beverly
Hi Ben,
das geht so:

ActiveSheet.ChartObjects("00-Diagramm_SPUA").Chart.FullSeriesCollection(3).IsFiltered = True



;
Anzeige
Anzeige

Infobox / Tutorial

Datenreihen in Excel-Diagrammen ausblenden mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Erstelle ein neues Modul: Klicke auf Einfügen > Modul.
  3. Füge den VBA-Code ein: Kopiere den folgenden Code in das Modul-Fenster:

    Sub DatenreiheAusblenden()
       Dim chartObj As ChartObject
       Set chartObj = Worksheets("DeinBlattname").ChartObjects("00-Diagramm_SPUA")
       chartObj.Chart.FullSeriesCollection(3).IsFiltered = True
    End Sub
  4. Ändere den Blattnamen und Diagrammname: Ersetze DeinBlattname und 00-Diagramm_SPUA mit den entsprechenden Namen.
  5. Führe den Code aus: Drücke F5, um den Code auszuführen und die Datenreihe auszublenden.

Häufige Fehler und Lösungen

  • Laufzeitfehler '438': Dieser Fehler tritt auf, wenn das angegebene Objekt nicht die erwartete Methode oder Eigenschaft unterstützt. Stelle sicher, dass der Diagrammname und der Blattname korrekt sind.

  • Diagramm nicht aktiviert: Wenn du versuchst, Datenreihen aus einem anderen Workbook auszublenden, achte darauf, dass das Workbook, das das Diagramm enthält, aktiv ist.


Alternative Methoden

Eine weitere Methode, um Datenreihen auszublenden, ist die Verwendung der Checkbox in Excel-Diagrammen:

  1. Diagramm erstellen: Erstelle dein Diagramm in Excel.
  2. Checkbox einfügen: Gehe zu Entwicklertools > Steuerelemente > Checkbox.
  3. Checkbox verknüpfen: Klicke mit der rechten Maustaste auf die Checkbox und wähle Steuerelement formatieren. Verknüpfe die Checkbox mit einer Zelle (z.B. D1).
  4. VBA-Code anpassen: Du kannst den Code so anpassen, dass die Datenreihe je nach Status der Checkbox ein- oder ausgeblendet wird.

Praktische Beispiele

Hier ist ein Beispiel, wie du eine Datenreihe ausblenden kannst, wenn eine bestimmte Bedingung erfüllt ist:

Sub DatenreiheBedingtAusblenden()
    Dim chartObj As ChartObject
    Set chartObj = Worksheets("DeinBlattname").ChartObjects("00-Diagramm_SPUA")

    If Worksheets("DeinBlattname").Range("D1").Value = True Then
        chartObj.Chart.FullSeriesCollection(3).IsFiltered = True
    Else
        chartObj.Chart.FullSeriesCollection(3).IsFiltered = False
    End If
End Sub

Tipps für Profis

  • Datenreihe dynamisch ausblenden: Du kannst die Methode excel datenreihe() verwenden, um Datenreihen basierend auf Benutzerinteraktionen oder anderen Bedingungen dynamisch ein- und auszublenden.

  • Diagrammtools einblenden: Nutze die Diagrammtools, um weitere Anpassungen an deinem Diagramm vorzunehmen, etwa das Anpassen von Linien oder Datenbeschriftungen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Datenreihen gleichzeitig ausblenden?
Du kannst eine Schleife verwenden, um mehrere Datenreihen auszublenden. Beispiel:

For i = 1 To chartObj.Chart.FullSeriesCollection.Count
    chartObj.Chart.FullSeriesCollection(i).IsFiltered = True
Next i

2. Was mache ich, wenn die Datenbeschriftungen fehlen?
Überprüfe die Einstellungen für die Datenbeschriftungen im Diagramm. Du kannst sie manuell aktivieren, indem du das Diagramm auswählst und unter Diagrammtools die entsprechenden Optionen anpasst.

3. Kann ich die Sichtbarkeit von Linien im Diagramm steuern?
Ja, du kannst excel diagramm linien ausblenden verwenden, um Linien in deinem Diagramm auszublenden, indem du die IsVisible-Eigenschaft der Linienobjekte anpasst.

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