Одновременное изменение элементов множества диаграмм (Microsoft Excel)
У Криса есть рабочая тетрадь, содержащая множество маленьких одинаковых диаграмм. Он хочет изменить некоторые атрибуты элементов в каждой диаграмме, такие как цвет или размер шрифта, одновременно.
Если вы часто используете диаграмму «не по умолчанию» (что означает изменение внешнего вида определенных элементов диаграммы после ее создания), тогда отличный подход — создать настраиваемую диаграмму и сохранить этот формат в 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 [Изменение элементов в большом количестве диаграмм за один раз]
.