Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagramme per VBA formatieren

Diagramme per VBA formatieren
04.11.2004 20:38:23
Markus
Hallo und guten Abend,
ich habe hier ein Problem und bin auf Expertenrat angewiesen:
ich habe 12 verschiedene Dateien mit jeweils 13 Balkendiagrammen, die dummerweise alle unterschiedliche Namen haben (also bspw. Diagramm 1, Diagramm 17, Diagramm 18 usw).
Ich möchte per VBA einige Bestandteile der Diagramme ändern, insbesondere die Farben. Bis auf die Namen sind sie identisch aufgebaut, d.h. alle haben jew. 7 Datenreihen mit den gleichen Bezeichnungen.
Im "Idealfall" wird nach einem Klick auf einen Button für jede Datenreihe einmalig das Dialogfeld "Datenpunkt formatieren" eingeblendet, wo dann die jew. Farbe ausgewählt werden kann.
Mein Problem ist leider, dass ich noch nie mit VBA+Diagrammen gearbeitet habe. Könnte man die mit einer For-Next-Schleife abarbeiten? Durch die unterschiedlichen Namen kann man sie leider nicht direkt ansprechen.
Bei dieser Gelegenheit würde ich sehr gern andere Elemente, wie bspw. Rubriken- und Größenachsenbeschriftung sowie Digrammtitel gleich formatieren (Schriftart und -größe), da -bedingt durch manuelle Erstellung- diese auch unterschiedlich sind.
Kann mir jemand helfen? Bin für jeden Tipp dankbar!
Danke und Gruß,
Markus

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramme per VBA formatieren
Sven
Warum machst du dir nicht ein Muster und kopierst das dann einfach?
mfg Sven
AW: Diagramme per VBA formatieren
04.11.2004 21:45:34
Markus
Hallo Sven,
das wäre nur die absolute Notlösung. Als die Diagramme erstellt wurden, hat mein Vorgänger daran gar nicht gedacht! Wenn ich jetzt eines neu erstelle und dann immer kopiere, ist das vermutlich mehr Arbeit und spätestens bei der nächsten Änderung würde ich wieder von vorn anfangen müssen. Durch ein automatisches Formatieren könnte man die Diagramme sogar für Folienpräsentationen bunt einfärben und für den s/w-Druck am Laserprinter mit Mustern versehen, um die Lesbarkeit zu erhöhen. Bei 4 oder 5 Stück wär das auch nicht der Rede wert, aber bei 156 ist der manuelle Aufwand einfach zu hoch.
Das muss doch auch automatisiert gehen!?
Gruß,
Markus
Anzeige
AW: Diagramme per VBA formatieren
Sven
Dann sprich sie über den Index an oder mit for each next- Schleife.
mfg Sven
AW: Diagramme per VBA formatieren
04.11.2004 22:20:27
Markus
Hallo Sven,
mein Problem dabei ist die Farben nicht fest vorzugeben, sondern "interaktiv" zu gestalten, d.h. der User sollte nach Möglichkeit Farben / Fülleffekte / Muster frei wählen können, so als würde er einen Rechtsklick machen.
Sprich: ich würde gern dieses Dialogfenster einblenden, mir "merken" was ausgewählt wurde und das entsprechend an den Diagrammen anwenden. Am kompliziertesten erscheint mir dabei das Dialogfenster, der Rest sollte nicht allzu schwierig sein.
Danke für Deine Hilfe, mit einer for/next-Schleife und dem Index klappt das im Prinzip schon ganz gut!
Gruß,
Markus
Anzeige
AW: Diagramme per VBA formatieren
Sven
Da musst du dir dann schon einen eigenen Dialog zum Formatieren zusammenbasteln, schon die höhere Schule der VBA- Programmierung.
mfg Sven
AW: Diagramme per VBA formatieren
04.11.2004 22:42:32
Markus
Hallo Sven,
danke nochmal für Deine Hilfe! Ich behaupte einfach mal, dass man dieses Fenster genauso einblenden kann wie einen Öffnen- oder Schließen-Dialog. Warum das Rad neu erfinden? Zumal neue (Dialog-)Layouts immer ungewohnt sind und den Standarduser, der maximal ein,zwei Werte in eine Zelle einträgt und die Diagramme ausdruckt, doch nur irritieren. Evtl. auftrende Probleme mit dem Auslesen/Befüllen von Variablen kann ich erst dann lösen, wenn ich dieses Fenster aufrufen kann.
Gruß,
Markus
Anzeige
AW: Diagramme per VBA formatieren
Sven
Denkbar wäre auch, erstmal ein Diagramm zu formatieren und dann die Format mittels Schleife auf die anderen zu übertragen.
mfg Sven
AW: Diagramme per VBA formatieren
04.11.2004 22:44:22
Markus
Genau so etwas habe ich vor! Das Layout wird an einem Diagramm per Dialog angepasst, dann wird genau dieses Layout auf alle anderen Digramme übertragen!
AW: Diagramme per VBA formatieren
Sven
Und warum ist die Frage dann noch offen?
mfg Sven
AW: Diagramme per VBA formatieren
04.11.2004 23:01:38
Markus
Weil ich immer noch nicht weiß, wie ich das mit dem Dialog anstellen soll! Die Interaktion soll möglichst einfach sein, d.h. der User soll nicht den Colorindex 44 über eine Inputbox eingeben, nachdem er nachgesehen hat, was die Farbe goldgelb für einen ColorIndex hat! Ich möchte ihm auch nicht sagen: "Zeichne ein Makro auf und pass das dann jedes mal selbst an!"
Gruß,
Markus
Anzeige
AW: Diagramme per VBA formatieren
Sven
Aus dem eingebauten Dialog bekommst du die Werte nicht ausgelesen. Wenn ein Diagramm
fertig formatiert ist brauchst du doch die Werte nur mittels Zuweisung zu übertragen,
sinngemäß: Charts(x).Seriescollection(y).interior.Color = Charts(1).Seriescollection(1).interior.Color
mfg Sven
AW: Diagramme per VBA formatieren
05.11.2004 10:09:51
Markus
Das Anwenden ist auch nicht das Problem, weder eine Abarbeitung über den Index noch eine Wertzuweisung Wert(1) = Wert(2)!
Was ich suche ist eine "elegantere" Lösung, indem der User und der Quellcode "miteinander kommunizieren". Nicht nach dem Motto "Formatiere das 1. Diagramm manuell, dann werden die Formate auf die anderen Diagramme übertragen"! Meine Vorstellung geht eher in Richtung "Colorpicker", wie er hier im Forum schon angesprochen wurde.
Das muss doch möglich sein!?!
Danke aber noch mal!
Gruß,
Markus
Anzeige
AW: Diagramme per VBA formatieren
Ulf
"Das muss doch möglich sein!?!"
Ist es aber nicht!
Ulf
AW: Diagramme per VBA formatieren
07.11.2004 13:41:31
Markus
Ist es scheinbar doch! Erstmal gibts den erwähnten Colorpicker, außerdem könnte man sich 'ne ganz simple Userform notfalls selbst basteln.
Ich habe jetzt gefunden wonach ich gesucht habe und nutze die comdlg32.dll. Das reicht mir für den Anfang vollkommen aus!
Trotzdem danke für Eure Hilfe und Anmerkungen!
Schönen Sonntag noch!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige