Diagramme mit Makro umformatieren
Betrifft: Diagramme mit Makro umformatieren
von: Wolfango
Geschrieben am: 28.08.2014 12:36:54
Hallo Experten,
ich muss mehrere hundert Diagramme umformatieren und brauche ein Makro, welches folgendes macht:
1. Diagrammtitel-Textfarbe:
rot=64, grün=149, blau=218
2. X-Achse:
Linienfarbe=weiß
3. Y-Achse:
Linienfarbe=weiß, Textfarbe=weiß, Textgröße=12
4. Datentabelle:
Textfarbe=weiß, Textgröße=10
5. Alle Datenreihen:
Rahmenfarbe=weiß
7. Hintergrundfarbe (des gesamten Diagramms)=schwarz
Alle anderen (bereits formatierten) Dinge sollen beibehalten werden
Ich vermute das geht irgendwie...
Danke!
Gruß, Wo
 |
Betrifft: AW: Diagramme mit Makro umformatieren
von: fcs
Geschrieben am: 28.08.2014 16:57:23
Hallo Wo,
nachfolgend entsprechende Makros zum Formatieren von Diagrammen.
Die Hauptprozedur "DiagrammeFormatieren" formatiert in der aktiven Arbeitsmappe alle Diagramme um.
Falls das anders ablaufen soll, dann muss eine modifizierte Hauptprozedur erstellt werden.
Die Makros solltest du in ein allgemeines Modul deiner persönlichen Makroarbeitsmappe einfügen.
Wenn alle Diagramme in einer Arbeitsmappe enthalten sind, dann kannst du die Makros auch in dieser Datei einbauen.
Gruß
Franz
Sub DiagrammeFormatieren()
Dim objChart As Object
Dim wks As Worksheet
'Alle eingebetteten Diagramme in den Tabellenblättern
For Each wks In ActiveWorkbook.Worksheets
For Each objChart In wks.ChartObjects
Call prcDiagramFormat(objChart:=objChart.Chart)
Next
Next wks
'Alle separaten Diagrammblätter
For Each objChart In ActiveWorkbook.Charts
Call prcDiagramFormat(objChart:=objChart)
Next
End Sub
Sub prcDiagramFormat(objChart As Chart)
Dim objReihe As Series
Dim objAxis As Axis
With objChart
'1. Diagrammtitel-Textfarbe:
'rot=64, grün=149, blau=218
If .HasTitle Then
With .ChartTitle
.Characters.Font.Color = RGB(64, 149, 218)
End With
End If
'2. X-Achse:
'Linienfarbe = weiß
If .HasAxis(xlCategory) Then
Set objAxis = .Axes(Type:=xlCategory)
With objAxis
.Format.Line.ForeColor.RGB = RGB(25, 255, 255)
End With
End If
'3. Y-Achse:
'Linienfarbe=weiß, Textfarbe=weiß, Textgröße=12
If .HasAxis(xlValue) Then
Set objAxis = .Axes(Type:=xlValue)
With objAxis
.Format.Line.ForeColor.RGB = RGB(25, 255, 255)
With .TickLabels.Font
.Color = RGB(255, 255, 255)
.Size = 12
End With
End With
End If
'4. Datentabelle:
'Textfarbe=weiß, Textgröße=10
If .HasDataTable Then
With .DataTable
.Font.Color = RGB(255, 255, 255)
End With
End If
'5. Alle Datenreihen:
'Rahmenfarbe = weiß
For Each objReihe In .SeriesCollection
With objReihe
With .Format.Line
.ForeColor.RGB = RGB(255, 255, 255)
End With
End With
Next
'7. Hintergrundfarbe (des gesamten Diagramms)=schwarz
With .ChartArea
With .Format.Fill
.ForeColor.RGB = RGB(0, 0, 0)
End With
End With
With .PlotArea
With .Format.Fill
.ForeColor.RGB = RGB(0, 0, 0)
End With
End With
End With
End Sub
 |
Betrifft: AW: Diagramme mit Makro umformatieren
von: Wolfango
Geschrieben am: 29.08.2014 14:22:14
...super! Funktioniert!
Das erleichtert mir wirklich vieles!
Besten Dank und Gruß,
Wo
Beiträge aus den Excel-Beispielen zum Thema "Diagramme mit Makro umformatieren"