Ändern von Elementen in vielen Diagrammen gleichzeitig (Microsoft Excel)
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 (3125) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: