Microsoft Excel

Herbers Excel/VBA-Archiv

alle Diagramme makieren formatiren

Betrifft: alle Diagramme makieren formatiren von: Lemmi
Geschrieben am: 24.09.2014 07:39:45

Hallo zusammen,

ich möchte alle Diagramme in einem Arbeitsblatt formatieren.

Diese einzeln zu makieren ist etwas aufwendig geworden. Sobalt ich eine Änderung durchführen muss habe ich über 150 Diagramme zu makieren.

Kann ich das anders lösen?

Ich möchte ggf. mit einem Makro alle Diagramme makieren und dann nach nach einer abgelegten Vorlage formatieren.
Die Vorlage ist immer am selben Ort.
Zur Zeit gibt es nur einen Diagrammtyp pro Seite.

Gruß

Lemmi

  

Betrifft: AW: alle Diagramme makieren formatiren von: Beverly
Geschrieben am: 24.09.2014 08:00:03

Hi Lemmi,

schau dir mal das Beispiel Eigenschaften auf meiner HP, Seite Diagramme m. VBA an - nach diesem Prinzip könntest du vorgehen. Was für Eigenschaften du allerdings übertragen willst, musst du mit dem Makrorekorder aufzeichnen.



GrußformelBeverly's Excel - Inn


  

Betrifft: AW: alle Diagramme makieren formatiren von: Lemmi
Geschrieben am: 27.09.2014 19:44:35

Hallo Karin,

ja das könnte gehen.

Meine Idee ist eigendlich das ich eine Vorlage habe und das Diagramm makiere und danach eine Formatvorlage zuordne.

Wenn ich das aufzeichne habe ich zum Beispiel:
ActiveSheet.ChartObjects("ABC 1").Activate
ActiveChart.ApplyChartTemplate ( _
"C:\Users\Müller_Thomas\AppData\Roaming\Microsoft\Templates\Charts\Diagramm1.crtx" _
)

danach selektiere ich das zweite Diagramm an und wiederhole alles.

ActiveSheet.ChartObjects("ABC 2").Activate
ActiveChart.ApplyChartTemplate ( _
"C:\Users\Müller_Thomas\AppData\Roaming\Microsoft\Templates\Charts\Diagramm1.crtx" _

Dies würde ich einwenig einfacher machen wollen!

Ich würde dies geren variabel halten!
Egal vieviel Diagramme auf einem aktiven Arbeitsbaltt sind die Schritte werden solange von einem Makro wiederholt bis alle das selbe Format haben.
Manuell ändere ich nur die Vorlage im Makro: Diagramm1.crtx wird zum Beispiel zu Diagramm2.crtx

Gruß
Lemmi


  

Betrifft: AW: alle Diagramme makieren formatiren von: Beverly
Geschrieben am: 27.09.2014 20:29:12

Hi Lemmi,

das wäre eine Möglichkeit:

Option Explicit
Const strVorlage As String = "Diagramm1.crtx"
Const strPfad As String = "C:\Users\Müller_Thomas\AppData\Roaming\Microsoft\Templates\Charts\"

Sub DiasFormatieren()
    Dim chrDia As ChartObject
    For Each chrDia In ActiveSheet.ChartObjects
        If chrDia.Chart.ChartType = xlXYScatterSmooth Then  '<== Diagrammtyp anpassen
            chrDia.Chart.ApplyChartTemplate (strPfad & strVorlage)
        End If
    Next chrDia
End Sub
Das Zuweisen einer Vorlage läuft auf einen Fehler, wenn ein Diagrammtyp nicht zur gewünschten Vorlage passt - z.B. kann einem Blasendiagramm keine Vorlage für ein Punkt-Diagramm zugewiesen werden. Deshalb solltest man sicherstellen, dass nur die "richtigen" Diagramme beim Schleifendurchlauf berücksichtig werden - deshalb die If-Abfrage.


GrußformelBeverly's Excel - Inn


  

Betrifft: AW: alle Diagramme makieren formatiren von: Lemmi
Geschrieben am: 28.09.2014 21:07:16

Hallo Karin,

nach dem Test, würde ich gerne eine andere Vorgehensweise wählen wollen!
Ich hoffe das geht noch?

Idee:
..wenn das neue Makro gestartet wird muss ich ein Diagramm auszuwählen. Nach der Auswahl muss ich im Menüee eine bestimmte Vorlage aufrufen und selektieren.
"...damit möchte ich Fehlermeldungen vermeiden und die richtige Vorlage auswählen können".

Wenn nun die Vorlage selektiert worden ist, wird das aktuelle Diagramm nach der ausgewählten Vorlage formatiert. ...so wie es manuell auch stattfinden würde.

Alle weiteren Diagramm werden danach mit der letzten Formatierung formatiert.
Dies soll solange durchgeführt werden bis alle Diagramme eines vorgabeblattes formatiert worden sind.


Ich hoffe das macht nicht zuviel Arbeit!
Danke im Voraus!

Gruß
Lemmi


  

Betrifft: AW: alle Diagramme makieren formatiren von: Beverly
Geschrieben am: 29.09.2014 08:09:53

Hi Lemmi,

der von mir gepostete Code vermeidet Fehler, falls eine falschen Vorlage ausgewählt wurde.
Per VBA kannst du auch nichts anderes machen, als dir alle vorhandenen Vorlagen auflisten zu lassen und dann daraus eine auszuwählen - das garantiert aber nicht, dass du die für deinen Diagrammtyp "richtige" Vorlage auswählst. Der Code müsste dann also auch genau so aussehen wie der gepostete, um Laufzeitfehler zu vermeiden.
Wenn du aber ganz normal von Hand für jedes Diagramm aus dem Excel-Menü die Vorlage auswählst, hast du noch den Vorteil, dass Excel dir eine Vorschau jeder Vorlage anzeigt und somit die Auswahl der "richtigen" erleichtert und somit eine Fehlerbehandlung gar nicht erst erforderlich ist.


GrußformelBeverly's Excel - Inn


 

Beiträge aus den Excel-Beispielen zum Thema "alle Diagramme makieren formatiren"