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

Diagramm per Checkbox erstellen

Forumthread: Diagramm per Checkbox erstellen

Diagramm per Checkbox erstellen
Jonathan
Hallo zusammen,
ich hatte letztes Jahr bereits eine ähnliche Anfrage gestellt und erstklassige Hilfe bekommen.
In einem Excel-Sheet befinden sich mehrere Tabellen (ca. 20 Stk.) nebeneinander (immer 3 Spalten und gleicher Abstand).
Jede Tabelle besitzt eine Checkbox. Wird eine Checkbox aktiviert wird der zugehörige Datenbereich als Diagramm dargestellt. Wird die Checkbox deaktiviert wird das Diagramm wieder gelöscht.
Um nicht für jede Checkbox einen Code zu schreiben wurde mir freundlicherweise von NoNet hier aus dem Forum ein Klassenmodul zur Verfügung gestellt, damit der Code nur einmal geschrieben werden muss und dann für jede Checkbox gilt.
Dieser Code funktioniert perfekt, wenn die Tabellen untereinander angeordnet sind.
Ich bekomme es nun einfach nicht hin, den Code so umzustellen, dass er für Tabellen funktioniert, welche nebeneinander angeordnet sind.
Es klappt zwar, dass wenn die erste Checkbox angeklickt wird, auch das richtige Diagramm erstellt wird
ALLERDINGS wird bei allen weiteren Checkboxen der Bereich nicht angepasst...
Könnt ihr mir hierbei vlt. nochmals behilflich sein? Wäre wirklich super.
Hier die Bsp-Datei mit vorhandenem Code:
https://www.herber.de/bbs/user/67303.xls
Vielen Dank für eure Hilfe.
Gruß
Jonathan
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Frage Resize-Eigenschaft
19.01.2010 11:12:40
Jonathan
Hallo Matthias,
ersteinmal vielen, vielen Dank für deine Hilfe.
Es funktioniert nun prima.
Allerdings habe ich noch eine Frage bzgl. der Resize-Eigenschaft.
Diese ist im Code mit "Resize (30)" für 30 Zeilen angegeben.
Lässt sich anstatt der 30 Zeilen auch ein variabler Wert erfassen, z.B. dass die Datenbereiche sich nach der Anzahl der Werte in Spalte A richten?
Gruß
Jonathan
Anzeige
AW: Frage Resize-Eigenschaft
19.01.2010 11:19:14
Matthias5
Hallo Jonathan,
ist in dieser Version eingebaut:

Die Datei https://www.herber.de/bbs/user/67308.xls wurde aus Datenschutzgründen gelöscht


Es werden alle Einträge in Spalte A gezählt und 1 abgezogen (für die Spaltenbeschriftung). Solltest du also z.B. noch eine Überschrift oder Bemerkung in Spalte A schreiben, musst du das entsprechend anpassen (-2 statt -1).
Gruß,
Matthias
Anzeige
Danke - Hervoragend!!!
19.01.2010 11:31:03
Jonathan
Hallo Matthias,
super, herzlichen Dank.
Hast mir sehr geholfen. Ich habe eben nur noch kurz die Beschriftung der X-Achse variabel "eingestellt".
Gruß
Jonathan
Variable Datenquelle
19.01.2010 12:41:00
Matthias5
Hallo Jonathan,
die Datenquelle war ja fixiert. Teste es mal mit dieser Version: https://www.herber.de/bbs/user/67306.xls
Gruß,
Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Diagramm per Checkbox in Excel erstellen


Schritt-für-Schritt-Anleitung

  1. Checkboxen einfügen:

    • Gehe zu Entwicklertools und wähle Einfügen.
    • Wähle die Checkbox (Formularsteuerung) aus und füge sie in das Excel-Dokument ein.
    • Wiederhole diesen Schritt für jede Tabelle, die du erstellen möchtest.
  2. Datenquelle für das Diagramm festlegen:

    • Klicke mit der rechten Maustaste auf die Checkbox und wähle Steuerelement formatieren.
    • Setze den Zellbezug für die Checkbox, um den Status (aktiviert/deaktiviert) zu speichern.
  3. VBA-Code schreiben:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge einen neuen Modul ein und schreibe einen Code, der die Datenquelle für das Diagramm anpasst, je nachdem, ob die Checkbox aktiviert oder deaktiviert ist. Hier ein Beispielcode:
    Sub Checkbox_Click()
       Dim chkBox As CheckBox
       Dim chartObj As ChartObject
    
       Set chkBox = ActiveSheet.CheckBoxes(Application.Caller)
    
       If chkBox.Value = 1 Then
           ' Diagramm erstellen
           Set chartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
           chartObj.Chart.SetSourceData Source:=Range("A1:A10") ' Passe den Bereich an
           chartObj.Chart.ChartType = xlColumnClustered
       Else
           ' Diagramm löschen
           ActiveSheet.ChartObjects("Diagrammname").Delete ' Ersetze "Diagrammname" mit dem tatsächlichen Namen
       End If
    End Sub
  4. Verknüpfung herstellen:

    • Klicke erneut mit der rechten Maustaste auf jede Checkbox und wähle Makro zuweisen, um den erstellten Code zu verknüpfen.

Häufige Fehler und Lösungen

  • Fehler: Diagramm wird nicht aktualisiert:

    • Stelle sicher, dass der Zellbezug in der Checkbox korrekt gesetzt ist. Überprüfe auch den VBA-Code, um sicherzugehen, dass die richtigen Datenbereiche verwendet werden.
  • Fehler: Diagramm wird nicht gelöscht:

    • Überprüfe den Namen des Diagramms im Code. Möglicherweise stimmt der Name nicht mit dem in Excel überein.

Alternative Methoden

  • Formeln verwenden: Anstatt VBA zu nutzen, kannst du auch Formeln verwenden, um den Datenbereich dynamisch zu ändern. Nutze WENN-Funktionen, um die Sichtbarkeit der Daten zu steuern.

  • Pivot-Tabellen: Eine weitere Möglichkeit besteht darin, Pivot-Tabellen zu verwenden, um Daten zu aggregieren und dynamische Diagramme zu erstellen, die auf Benutzerauswahlen basieren.


Praktische Beispiele

  • Wenn du eine Tabelle mit Verkaufsdaten hast und Checkboxen für verschiedene Produkte erstellst, kannst du mit dem oben beschriebenen VBA-Code die Verkaufszahlen für jedes Produkt separat visualisieren.

  • Für ein Dashboard in Excel kannst du mehrere Checkboxen hinzufügen, um verschiedene Diagramme zu steuern, wie z.B. Umsatz, Kosten und Gewinn.


Tipps für Profis

  • Datenreihen ausblenden: Nutze die Datenreihen ausblenden-Funktion in deinem Diagramm, um nur relevante Informationen anzuzeigen, wenn die Checkbox aktiviert ist.

  • Checkboxen in Excel 2010: Wenn du mit Excel 2010 arbeitest, achte darauf, dass die Entwicklertools-Registerkarte aktiviert ist, um einfach auf Checkboxen und andere Steuerelemente zugreifen zu können.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Checkboxen für unterschiedliche Diagramme verwenden?
Du kannst für jede Checkbox einen eigenen VBA-Code erstellen, der die entsprechenden Datenbereiche für die jeweiligen Diagramme anpasst.

2. Funktioniert dies auch in Excel Online?
Die Erstellung von Checkboxen und VBA-Code funktioniert nicht in Excel Online, da es keine Unterstützung für VBA gibt. Du kannst jedoch ähnliche Funktionen mit Excel-Formeln erreichen.

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