Chris hat eine Arbeitsmappe, die viele kleine, identische Diagramme enthält. Er möchte einige Attribute von Elementen in jedem Diagramm – wie Farbe oder Schriftgröße – gleichzeitig ändern.

Wenn Sie häufig ein „nicht standardmäßiges“ Diagramm verwenden (was bedeutet, dass das Erscheinungsbild bestimmter Diagrammelemente nach dem Erstellen des Diagramms geändert wird), sollten Sie ein benutzerdefiniertes Diagramm erstellen und dieses Format in Excel speichern. Sie können dann das gespeicherte Format verwenden, um alle Ihre neuen Diagramme zu erstellen, wodurch der Aufwand für spätere Formatierungen minimiert wird. Wie Sie benutzerdefinierte Diagrammformate speichern, wurde in anderen Ausgaben von ExcelTips.

behandelt Benutzerdefinierte Diagrammformate mögen für die Zukunft großartig sein, aber es hilft nicht, wenn Sie bereits eine ganze Reihe von Diagrammen in einer vorhandenen Arbeitsmappe haben. In diesem Fall besteht die beste Lösung darin, ein Makro zu verwenden, das alle Diagramme in einer Arbeitsmappe durchläuft und die gewünschte Änderung vornimmt. Sie müssen nur im Voraus entscheiden, welche Elemente Sie ändern möchten, und dann das Makro so programmieren, dass diese Elemente spezifisch geändert werden.

Das folgende Makro ändert beispielsweise die Schriftfarbe und -größe der Beschriftungen der Y-Achse. Es durchläuft alle Diagramme in der Arbeitsmappe, sowohl Blätter als auch eingebettete Diagramme.

Sub ChangeAllCharts1()

Dim cht As Chart     Dim sht     Dim ChtObj As ChartObject

For Each cht In ActiveWorkbook.Charts         With cht.Axes(xlValue).TickLabels.Font             .Size = 20             .Color = vbRed         End With     Next

For Each sht In ActiveWorkbook.Sheets         For Each ChtObj In sht.ChartObjects             With ChtObj.Chart.Axes(xlValue).TickLabels.Font                 .Size = 20                 .Color = vbRed             End With         Next     Next End Sub

Wie hier geschrieben, ändert das Makro die Schriftgröße auf 20 und die Farbe auf Rot. Wenn Sie möchten, dass das Makro andere Elemente ändert, müssen Sie lediglich die With-Anweisungen ändern, um die zu ändernden Elemente wiederzugeben, oder Sie können eine For …​ Next-Schleife verwenden, um alle Diagrammelemente zu durchlaufen. Das folgende Makro zeigt diese Technik und ändert die Hintergrundfarbe der Diagramme in einer Arbeitsmappe.

Sub ChangeAllCharts2()

On Error Resume Next     NewChartAreaColor = 34

For J = 1 To ActiveWorkbook.Charts.Count         ActiveWorkbook.Charts(J).Select

'The pairs of line code indicate desired changes         ActiveChart.ChartArea.Select         Selection.Interior.ColorIndex = NewChartAreaColor     Next J

For J = 1 To ActiveWorkbook.Sheets.Count         For K = 1 To Sheets(J).ChartObjects.Count             Sheets(J).Select             Sheets(J).ChartObjects(K).Activate

'The pairs of line code indicate desired changes             ActiveChart.ChartArea.Select             Selection.Interior.ColorIndex = NewChartAreaColor         Next K     Next J End Sub

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (7734) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.

Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: