Программирование Графики в Excel VBA
Ниже мы рассмотрим две программы в Excel VBA. Одна программа перебирает все диаграммы на листе и изменяет каждую диаграмму на круговой диаграмме.
Другая программа изменяет некоторые свойства первого графика.
-
Создайте несколько графиков (или загрузить файл Excel).
Поместите командную кнопку на рабочем листе и добавьте строки следующего кода:
-
Во-первых, мы должны объявить объект ChartObject. Объект ChartObject действует как контейнер для объекта Chart. Мы называем ChartObject CHT, но вы можете использовать любое имя.
Dim cht As ChartObject
-
В коллекции ChartObjects содержит все внедренные диаграммы на одном листе. Мы хотим, чтобы перебрать все графики на первом листе. Добавьте следующую информацию для каждого следующего цикла.
For Each cht In Worksheets(1).ChartObjects Next cht
-
Объект Диаграмма представляет собой диаграмму в рабочей книге. Добавьте следующую строку кода в каждый следующий цикл, чтобы изменить каждую диаграмму на круговой диаграмме.
cht.Chart.ChartType = xlPie
Примечание: опять же, CHT выступает в качестве контейнера для объекта Chart. Мы используем свойство ChartType изменить тип диаграммы. Мы используем встроенную константу xlPie изменить каждую диаграмму на круговую диаграмму.
-
Результат при нажатии на кнопку управления на листе:
Теперь мы изменим некоторые свойства первой диаграммы.
Поместите другую командную кнопку
на листе, и добавьте следующие строки кода:
-
коллекции ChartObjects содержит все внедренные диаграммы на одном листе. Добавьте следующую строку кода, чтобы активировать первую диаграмму:
Worksheets(1).ChartObjects(1).Activate
Теперь мы можем обратиться к этой диаграмме как ActiveChart.
-
Добавьте следующую строку кода, чтобы изменить название диаграммы.
ActiveChart.ChartTitle.Text = "Sales Report"
-
Добавьте следующую строку кода, чтобы переместить легенду в нижней части графика:
ActiveChart.Legend.Position = xlBottom
-
Результат при нажатии на кнопку управления на листе: