У Криса есть рабочая тетрадь, содержащая множество маленьких одинаковых диаграмм. Он хочет изменить некоторые атрибуты элементов в каждой диаграмме, такие как цвет или размер шрифта, одновременно.

Если вы часто используете диаграмму «не по умолчанию» (что означает изменение внешнего вида определенных элементов диаграммы после ее создания), тогда отличный подход — создать настраиваемую диаграмму и сохранить этот формат в Excel. Затем вы можете использовать сохраненный формат для создания всех ваших новых диаграмм, тем самым минимизируя объем последующего форматирования, который вам необходимо выполнить. Как вы сохраняете пользовательские форматы диаграмм, было описано в других выпусках ExcelTips.

Пользовательские форматы диаграмм могут быть полезны в будущем, но это не поможет, если у вас уже есть целая группа диаграмм в существующей книге. В этом случае лучшим решением будет использование макроса, который может перемещаться по всем диаграммам в книге и вносить желаемые изменения. Вам просто нужно заранее решить, какие элементы вы хотите изменить, а затем запрограммировать макрос для изменения этих элементов.

Например, следующий макрос изменяет цвет шрифта и размер меток оси Y. Он просматривает все диаграммы в книге, как листы, так и встроенные диаграммы.

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

Как здесь написано, макрос изменяет размер шрифта на 20 и цвет на красный. Если вы хотите, чтобы макрос изменял другие элементы, все, что вам нужно сделать, это изменить операторы With, чтобы они отражали элементы, которые вы хотите изменить, или вы можете использовать цикл For …​ Next для пошагового выполнения всех элементов диаграммы. Следующий макрос демонстрирует эту технику, изменяя цвет фона диаграмм в книге.

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

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3125) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Changing_Elements_in_Lots_of_Charts_at_One_Time [Изменение элементов в большом количестве диаграмм за один раз].