Diagramme mit VBA

Code gilt für in die Tabelle eingebettete Diagrammobjekte, falls nicht anders vermerkt

Achsenbeschriftung mehrfarbig

In einem Liniendiagramm sollen der Rubrikenachse Datumswerte zugeordnet werden, dabei "Sonntag" mit Schrift Farbe: Rot und Schnitt: Fett. Die standardmäßige Formatierung der Achsenbeschriftung lässt jedoch keine unterschiedliche Formatierung einzelner Werte zu. Eine Hilfsdatenreihe mit entsprechend formatierten Beschriftungslabels simuliert die Beschriftung der Rubrikenachse.

Zur Vereinfachung des Formatierungsprozesses, der andernfalls bei jeder Datenänderung von Hand erfolgen muss, ist ein Code integriert, welcher die Beschriftungslabels der Hilfsdatenreihe automatisch formatiert.

Änderungen:

1. 04.02.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

2. 04.02.07 Code als Worksheet_Change Ereignis abgelegt

Stand 04.02.07

Achsenskalierung aus Zelle

Minimum und Maximum für die Skalierung der Größenachse (X) eines Diagramms werden aus Werten der Tabelle ausgelesen.

Änderungen:

1. 24.02.07 Fehlerroutinen im Code ergänzt

2. 24.02.07 Kommentare im Code ergänzt

3. 24.02.07 Erläuterung präzisiert

Stand 24.02.07

Achsen mit Pfeildarstellung

 

X- und Y-Achse werden mit einem Pfeil am Maximum dargestellt. Verwendet werden 2 Hilfsdatenreihen, deren letzter Datenpunkt als Pfeil formatiert wurde. Die Skalierung der Achsen wird mittels Code im Worksheet_Change Ereignis automatisch angepasst.

Hinweis: in Version 2007 nicht erforderlich, da die Endlinienart der Achsen entsprechend eingerichtet werden kann

Stand 10.11.07

Achsentausch

ab Version 2000

 

X- und Y-Achse werden mittels Code getauscht. Beispiel gilt für den Diagrammtyp Punkt(XY), nicht jedoch für logarithmische Skalierung.

Änderungen:

1. 25.02.07 Code ergänzt um Achsenbezeichnung in der Tabelle

2. 25.02.07 Diagrammskalierung auf automatisch geändert und Code angepasst

3. 25.02.07 Kommentare im Code ergänzt

Stand 06.11.06

Ampel

Mithilfe eines Blasendiagramms wird eine Ampel simuliert. Dazu werden 3 Blasen mit der selben Größe verwendet, Durch Änderung eines Wertes zwischen 1 und 5 in der Tabelle wird die Ampel umgeschaltet. Werte 1 und 2 ergeben Rot, 3 Gelb und 4 und 5 Grün. In der Tabelle sind mittels Daten Gültigkeit nur diese Werte auswählbar.

Änderungen:

1. 25.02.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

2. 25.02.07 Diagramm geändert, nur noch 1 Datenreihe

3. 25.02.07 Code an das Diagramm angepasst

4. 25.02.07 Kommentare im Code ergänzt

Stand 25.02.07

Analoge Uhr1

Eine analoge Uhr wird mittels Punkt(XY)-Diagramm simuliert. Es erfolgt eine Darstellung einschließlich Sekundenzeiger (als Punkt angezeigt). Aus diesem Grund wird die Uhrzeit mittels Code im Sekundentakt aktualisiert. Die Daten sind als Wertetabelle in einer separaten Tabelle hinterlegt.

Änderungen:

1. 18.03.07 Fehler bei 0 Uhr und 12 Uhr beseitigt

Stand 18.03.07

Analoge Uhr2

Eine analoge Uhr wird mittels Punkt(XY)-Diagramm simuliert. Es erfolgt eine Darstellung einschließlich Sekundenzeiger. Aus diesem Grund wird die Uhrzeit mittels Code im Sekundentakt aktualisiert. Die Daten für die Zeiger werden mittels Formeln im Code berechnet und den Datenreihen als Werte-Array zugewiesen.

Stand 18.03.07

Analoge Uhr3

 

Eine analoge Uhr einschließlich Digitalanzeige wird mittels Punkt(XY)-Diagramm simuliert. Die Daten für die Zeiger werden mittels Formeln im Code berechnet und den Datenreihen als Werte-Array zugewiesen. Die analoge Anzeige erfolgt als Darstellung einschließlich Sekundenzeiger. Die Digitalanzeige ist dem Diagrammtitel zugewiesen. Die Uhrzeit wird mittels Code im Sekundentakt aktualisiert.

Stand 23.03.07

Daten aus mehreren Tabellen

 

Eine Datenreihe lässt sich nicht aus Werten erstellen, die in verschiedenen Tabellen vorliegen. Für die Erstellung eines derartigen Diagramms benötigt man eine zusammenfassende Datentabelle. Dieser Umweg lässt sich allerdings vermeiden, indem die Daten als Array in den Wertebereich der Datenreihe eingetragen werden.

Für die Automatisierung dieser aufwendigen Prozedur gibt es in der Arbeitsmappe zwei Makros, jeweils für ein Säulen- und ein Punkt(XY)-Diagramm. Zu beachten ist, dass bei Änderung der Werte das Diagramm nicht automatisch aktualisiert wird, sondern das Makro erneut ausgeführt werden muss.

Änderungen:

1. 11.03.07 Kommentare im Code ergänzt

Stand 11.03.07

Datenbereich auslesen

 

Datenbereich und Name jeder Datenreihe werden ausgelesen und in die Tabelle eingetragen. Code gilt für Diagramme mit 2 Wertebereichen.

Änderungen:

1. 23.03.07 Erläuterung präzisiert

2. 23.03.07 Code überarbeitet

3. 23.03.07 Kommentare im Code ergänzt

Stand 23.03.07

Datenbereich übernehmen

 

Der Datenbereich eines Diagramms wird mit einer anderen Arbeitsmappe verknüpft. Voraussetzung ist, dass die andere Arbeitsmappe bei Ausführen des Codes geöffnet ist.

Makro1: kopiert den Adressbereich und fügt ihn als Datenreihen (SeriesCollections) in das Diagramm ein, vorhandene Datenreihen werden gelöscht

Makro2: weist den Adressbereich als Datenbereich (Source) dem Diagramm zu

Makro3: weist den Adressbereich der aktuellen Tabelle zu

Änderungen:

1. 11.03.07 Kommentare im Code ergänzt

2. 11.03.07 Makro3 ergänzt

Stand 11.03.07

Datenbereich verschieben

 

Der Datenbereich eines Punkt(XY)-Diagramms, bestehend aus 2 Datenreihen mit je 6 Punkten, wird sukzessive jeweils um 1 Zelle entweder vorwärts oder rückwärts im Tabellenblatt verschoben und damit ebenso die beiden Graphen im Diagramm. Code gilt analog auch für andere Diagrammtypen.

Stand 25.09.15

Datenbereich zuweisen

 

Einem Diagramm wird der Datenbereich für eine Datenreihe zugewiesen. Der Datenbereich besteht aus nicht zusammenhängenden Zellen. Als Kriterium der Zuweisung gilt das aktuelle Datum aus einer Liste von Datumswerten in Spalte A.

Änderungen:

1. 18.03.07 Kommentare im Code ergänzt

2. 18.03.07 Code für Tabelle zurücksetzen ergänzt

3. 18.03.07 Fehler bei der Datumssuche korrigiert

Stand 18.03.07

Datenherkunft ermitteln

 

Bei großen Datenmengen ist es schwierig, die genaue Datenquelle eines bestimmten Datenpunktes in der Tabelle zu ermitteln. Im Beispiel wird durch Klick auf einen Datenpunkt dessen Datenquelle in der Tabelle mit Füllfarbe Grün formatiert. Die ermittelte Zelle wird in der linken obere Ecke unterhalb des fixierten Bereichs angezeigt. Die Oberkante des Diagramms wird immer an die Oberkante der gefundenen Zelle verschoben.

Änderungen:

1. 05.04.07 Kommentare im Code ergänzt

2. 13.10.08 Code für Ermittlung der Zeile korrigiert

3. 21.07.10 Code komplett neu geschrieben

4. 09.01.16 Code komplett auf MouseUp-Event umgeschrieben

Stand 09.01.16

Datenpunkte färben

 

 

In einem Liniendiagramm werden Datenpunkte in Abhängigkeit von ihrem Wert in drei  unterschiedlichen Farben dargestellt. Für die Farbzuweisung wird das Worksheet_Change Ereignis verwendet.

Änderungen:

1. 30.03.07 Erläuterung präzisiert

2. 30.03.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

3. 30.03.07 Code überarbeitet

4. 30.03.07 Kommentare im Code ergänzt

Stand 30.03.07

Dynamischer Datenbereich

 

Der Datenbereich passt sich dynamisch an. Dies betrifft sowohl die Anzahl der Werte als auch die Anzahl der Datenreihen. Der Datenbereich beginnt in Zelle A11 und wird jeweils bis zur letzten belegten Zelle definiert.

Änderungen:

1. 24.03.07 Erläuterung präzisiert

2. 24.03.07 Code überarbeitet

3. 24.03.07 Kommentare im Code ergänzt

Stand 24.03.07

Eigenschaften

 

4 Makros zum Auslesen und Verwenden einiger Diagrammeigenschaften.

Makro 1: Position und Größe der Diagramm- und Zeichnungsfläche von 2 Diagrammen werden aneinander angepasst. Dabei dient Diagramm1 als Vorlage.

Makro 2: Die Skalierungsparameter der Rubriken(X)- und Größen(Y)-Achsen von Diagramm2 werden an die von Diagramm1 angepasst.

Makro 3: interner Diagrammname, Diagrammtitel und Achsentitel der in der Tabelle enthaltenen Diagrammobjekte werden ausgelesen und in die Tabelle eingetragen.

Makro 4: Anzahl der Datenreihen der Primären und Sekundären Y-Achsen werden ermittelt und in einer MsgBox angezeigt.

Änderungen:

1. 01.04.07 Erläuterung präzisiert

2. 01.04.07 Diagramm mit Sekundärachsen ergänzt in Tabelle3

3. 01.04.07 Code überarbeitet, Code ergänzt für Auslesen Achsentitel

4. 01.04.07 Kommentare im Code ergänzt

Stand 01.04.07

Fehlerwertanzeige ausblenden

 

Durch das Worksheet_Change Ereignis werden die Fehlerwerte #NV und #DIV/0! in der Beschriftung der Datenreihe ausgeblendet. Code gilt für eine Datenreihe.

Änderungen:

1. 31.03.07 Erläuterung präzisiert

2. 31.03.07 Code überarbeitet

3. 31.03.07 Kommentare im Code ergänzt

Stand 31.03.07

Interpolation mit Diagrammanzeige

An einer Datenreihe mit aufsteigenden X-Werten werden zu einem per Inputbox abgefragten Y-Wert alle zutreffenden X-Werte berechnet. Das Ergebnis wird in einer MsgBox angezeigt und in die Tabelle eingetragen. Der Treffer mit dem größten X-Wert wird als Datenpunkt mit Bezugslinien im Diagramm dargestellt.

Änderungen:

1. 28.04.07 Wertetabelle geändert, X-Werte aufsteigend

2. 28.04.07 Diagramm optisch überarbeitet

3. 28.04.07 Beschreibung in der Tabelle geändert

4. 28.04.07 Code überarbeitet

5. 28.04.07 Kommentare im Code ergänzt

Stand 28.04.07

Interpolation mit Diagrammanzeige logarithmisch

Für eine XY-Datenreihe, deren X-Werte logarithmisch skaliert sind, werden für 2 im Code definierte Y-Werte die zutreffenden X-Werte berechnet. Das Ergebnis wird in eine Hilfstabelle eingetragen und im Diagramm dargestellt.

Dieses Beispiel basiert auf der Auswertung von Korngrößenanalysen, bei denen eine kontinuierlich ansteigende Kurve dargestellt wird. Es kann jedoch ebenso auf beliebige Daten ähnlicher Struktur angewendet werden.

Änderungen:

1. 29.04.07 Beschreibung in der Tabelle geändert

2. 29.04.07 Diagramm optisch überarbeitet

3. 29.04.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

4. 29.04.07 Code angepasst an das Worksheet_Change Ereignis

5. 29.04.07 Kommentare im Code ergänzt

Stand 29.04.07

Kopieren andere Tabelle

Ein Diagramm wird aus Tabelle1 nach Tabelle2 kopiert. Der neue Datenbereich bezieht sich auf Tabelle2 und wird entsprechend angepasst. Anfangs- und Endzelle des neuen Datenbereichs sind in Tabelle1 eingetragen, wobei letzte belegte Zeile/Spalte der Tabelle2 anhand einer Matrix-Formel ermittelt werden.

Änderungen:

1. 01.04.07 Code überarbeitet zur Positionierung des Diagramms

2. 01.04.07 Kommentare im Code ergänzt

3. 01.02.11 Code überarbeitet - ohne Aktivieren des Diagramms

Stand 01.02.11

Mittelwertlinie

Im Diagramm werden die Bereiche eines Graphen unter- und oberhalb einer Mittelwertlinie in einer anderen Farbe dargestellt. Dazu wird ein Flächendiagramm mit Primärer und Sekundärer Größenachse (Y) verwendet.

Bei Änderung der Werte der Datenreihe wird das Maximum der sekundären Größenachse (Y) mit einem Worksheet_Change Ereignis automatisch angepasst.

Änderungen:

1. 17.02.07 Kommentar und schrittweise Erläuterung der Diagrammerstellung präzisiert

Stand 17.02.07

Säulen einfärben

Diagrammblatt

Die Säulen im Diagramm werden in Abhängigkeit vom Wert rot, gelb oder grün durch das Worksheet_Change Ereignis gefärbt. Dies erfolgt durch Auslesen des Beschriftungslabels jedes Datenpunktes. Ist keine Beschriftung vorhanden, wird sie temporär ein- und anschließend wieder ausgeblendet.

Änderungen:

1. 05.04.07 Erläuterung präzisiert

2. 05.04.07 Code umgeschrieben auf Verwendung einer Objektvariabeln für das Diagramm

3. 05.04.07 Kommentare im Code ergänzt

Stand 05.04.07

Säulen negativ-positiv

 

Säulen mit negativem Wert sollen eine andere  Farbformatierung als positive Werte erhalten. Dies wird durch das Worksheet_Change Ereignis realisiert.

Die Achsenbeschriftung kann in ihrer Ausrichtung nur einheitlich formatiert werden. Mithilfe von 2 zusätzlichen Datenreihen wird die Beschriftung der X-Achse derart simuliert, dass immer die gegensinnige Beschriftung angezeigt und somit die Lesbarkeit wesentlich verbessert wird.

Änderungen:

1. 07.04.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

2. 07.04.07 Code überarbeitet

Stand 07.04.06

Trendlinienformel

 

Die Formel für eine durch Excel erstellte Trendlinie einer Datenreihe wird ausgelesen und in die Tabelle eingetragen.

Änderungen:

1. 08.04.07 Datentabelle von Spaltenanordnung in Zeilenanordnung umgeschrieben

2. 08.04.07 schrittweise Erläuterung der Diagrammerstellung ergänzt

3. 08.04.07 Code überarbeitet

4. 08.04.07 Kommentare im Code ergänzt

Stand 08.04.07

Wandernder Datenbereich

 

Nur die jeweils letzten 6 Werte der Datenreihen werden angezeigt.

Änderungen:

1. 08.04.07 Erläuterung präzisiert

2. 08.04.07 Code überarbeitet

3. 08.04.07 Kommentare im Code ergänzt

Stand 08.04.07

Werte sortiert anzeigen

Die Datenpunke in einem Balkendiagramm sollen absteigend sortiert dargestellt werden. Vorhandene 0-Werte sollen nicht angezeigt werden, wobei die Datentabelle jedoch unverändert bleiben muss.

Die vorgestellte Lösung besteht im Erstellen einer Hilfstabelle, auf die sich der Datenbereich des Diagramms bezieht. Diese Hilfstabelle wird sortiert und die Zellen mit den 0-Werten werden ausgeblendet. Das Kopieren, Sortieren und Ausblenden der Zellen erfolgt mittels Code.

Änderungen:

1. 08.04.07 Erläuterung präzisiert

2. 08.04.07 Code überarbeitet

3. 08.04.07 Kommentare im Code ergänzt

Stand 08.04.07

Winkelhalbierende

 

 

In einem 2D-Diagramm (Beispiel: Blasendiagramm) wird eine Diagonale zwischen Nullpunkt und rechter oberer Ecke der Zeichnungsfläche (Quadrant I) als "Winkelhalbierende" dargestellt. Dazu wird von Hand eine Linie aus der Zeichnen-Symbolleiste in das Diagramm eingefügt und entsprechend den Erfordernissen formatiert. Sie wird bei Veränderung der Datentabelle mittels Makro automatisch positioniert.

Änderungen:

1. 10.03.07 Kommentar im Code präzisiert

Stand 10.03.07

Zoom

 

Diagramme mit vielen X-Werten sind oft sehr unübersichtlich, sodass Details nicht mehr erkennbar sind. In diesem Beispiel wird bei Klick auf einen Datenpunkt oder ein Beschriftungslabel der Bereich -10 bis +10 Werte links und rechts vom Datenpunkt als Ausschnitt gezoomt. Bei Klick auf die Zeichnungsfläche wird das Diagramm zurückgesetzt.

Änderungen:

1. 25.12.15 Code überarbeitet

2. 25.12.15 Beispiel für Versionen ab 2007 ergänzt

Stand 25.12.15

 

letzte Bearbeitung 19.05.23

Diese Seite ist Bestandteil eines Framesets von excel-inn.de.

Falls ihr keine Navigationsleiste seht, klickt bitte auf den Link.