Ниже мы рассмотрим две программы в Excel VBA. Одна программа перебирает все диаграммы на листе и изменяет каждую диаграмму на круговой диаграмме.

Другая программа изменяет некоторые свойства первого графика.

  1. Создайте несколько графиков (или загрузить файл Excel).

Programming Charts in Excel VBA

Поместите командную кнопку на рабочем листе и добавьте строки следующего кода:

  1. Во-первых, мы должны объявить объект ChartObject. Объект ChartObject действует как контейнер для объекта Chart. Мы называем ChartObject CHT, но вы можете использовать любое имя.

Dim cht As ChartObject
  1. В коллекции ChartObjects содержит все внедренные диаграммы на одном листе. Мы хотим, чтобы перебрать все графики на первом листе. Добавьте следующую информацию для каждого следующего цикла.

For Each cht In Worksheets(1).ChartObjects

Next cht
  1. Объект Диаграмма представляет собой диаграмму в рабочей книге. Добавьте следующую строку кода в каждый следующий цикл, чтобы изменить каждую диаграмму на круговой диаграмме.

cht.Chart.ChartType = xlPie

Примечание: опять же, CHT выступает в качестве контейнера для объекта Chart. Мы используем свойство ChartType изменить тип диаграммы. Мы используем встроенную константу xlPie изменить каждую диаграмму на круговую диаграмму.

  1. Результат при нажатии на кнопку управления на листе:

Programming Charts Result

Теперь мы изменим некоторые свойства первой диаграммы.

Поместите другую командную кнопку

на листе, и добавьте следующие строки кода:

  1. коллекции ChartObjects содержит все внедренные диаграммы на одном листе. Добавьте следующую строку кода, чтобы активировать первую диаграмму:

Worksheets(1).ChartObjects(1).Activate

Теперь мы можем обратиться к этой диаграмме как ActiveChart.

  1. Добавьте следующую строку кода, чтобы изменить название диаграммы.

ActiveChart.ChartTitle.Text = "Sales Report"
  1. Добавьте следующую строку кода, чтобы переместить легенду в нижней части графика:

ActiveChart.Legend.Position = xlBottom
  1. Результат при нажатии на кнопку управления на листе:

Programming Charts Result