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

Рис. 4.5. Исходные данные для построения диаграммы
Теперь нам нужно написать код, который представлен в листинге 4.6. Этот код должен быть помещен в модуль рабочего листа.
Листинг 4.6. Быстрое построение и удаление диаграммы
Sub CreateChart()
' Создание диаграммы
Charts.Add
' Параметры диаграммы
' Тип диаграммы
ActiveChart.ChartType = xlLineMarkers
' Заголовок
ActiveChart.SetSourceData Range(«B1:E2»), xlRows
ActiveChart.Location xlLocationAsObject, Name
' Остальные параметры
With ActiveChart
' Заголовок
.HasTitle = True
.ChartTitle.Characters.Text = Name
' Заголовок оси категорий
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text _
= Sheets(Name).Range(«A1»).Value
' Заголовок оси значений
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text _
= Sheets(Name).Range(«A2»).Value
' Отображение легенды
.HasLegend = False
.HasDataTable = True
.DataTable.ShowLegendKey = True
' Настройка отображения сетки
With .Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With .Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
End With
End Sub
Sub DeleteChart()
' Удаление диаграммы
ActiveSheet.ChartObjects.Delete
End Sub
После написания кода мы уже можем строить диаграмму – для этого достаточно запустить макрос CreateChart. Но мы упростим этот процесс.
Поместим на панель быстрого доступа две кнопки: для создания диаграммы и для удаления диаграммы. Для этого войдем в режим настройки Excel 2007, откроем в нем раздел Настройка, затем в поле Выбрать команды из выберем значение Макросы – в результате в расположенном ниже списке отобразятся названия двух макросов: CreateChart и DeLeteChart (в соответствии с листингом 4.6). С помощью кнопки Добавить поместим их на панель быстрого доступа (то есть в расположенный справа список) и нажмем кнопку ОК. Теперь для создания диаграммы достаточно будет на панели быстрого доступа нажать соответствующую кнопку – результат представлен на рис. 4.6.
Для удаления построенной диаграммы с рабочего листа достаточно на панели быстрого доступа нажать кнопку удаления диаграммы.
В предыдущем разделе мы рассматривали порядок сохранения диаграммы в отдельном файле с расширением GIF. Этот процесс также можно реализовать нажатием одной кнопки, по аналогии с тем, как это описывается в данном разделе.

Рис. 4.6. Создание диаграммы одним нажатием кнопки