Excel. Трюки и эффекты | страница 153
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. Создание диаграммы одним нажатием кнопки
Вывод списка диаграмм в отдельном окне
В процессе работы иногда бывает необходимо узнать, какие диаграммы содержит текущий рабочий лист или книга. В данном разделе мы рассмотрим несколько макросов, позволяющих решить эту задачу.
К примеру, если необходимо быстро узнать количество внедренных диаграмм текущего рабочего листа, то можно воспользоваться следующим макросом (листинг 4.7).
Sub ShowSheetCharts()
Dim strMessage As String
Dim i As Integer
' Формирование списка диаграмм
For i = 1 To ActiveSheet.ChartObjects.Count
strMessage = strMessage & ActiveSheet.ChartObjects(i).Name _
& vbNewLine
Next i
' Отображение списка
MsgBox strMessage
End Sub
После выполнения данного макроса на экране отобразится окно с перечнем имен внедренных диаграмм активного рабочего листа.
Можно вывести список рабочих листов, содержащих обычные диаграммы (вынесенные на отдельный рабочий лист). Пример макроса, позволяющего решить эту задачу, приведен в листинге 4.8.