19: MsgBox "Выделенный диапазон не подходит для построения _
20: диаграммы"
21: Exit Sub
22: End If
23:
24: With ActiveChart
25: .HasTitle = True
26: .ChartTitle.Characters.Text = "Объемы продаж"
27: .ChartTitle.Select
28: End With
29:
30: Selection.AutoScaleFont = True
31: With Selection.Font
32: .Name = "Arial"
33: .FontStyle = "полужирный курсив"
34: .Size = 14
35: .Strikethrough = False
36: .Superscript = False
37: .Subscript = False
38: .OutlineFont = False
39: .Shadow = False
40: .Underline = xlUnderlineStyleNone
41: .ColorIndex = xlAutomatic
42: .Background = xlAutomatic
43: End With
44:
45: End Sub
При создании этой процедуры мы использовали в основном копирование и вставку кода из ранее созданных макросов. "Изюминкой" этой процедуры является применение оператора If. Этот оператор проверяет значение свойства Columns.Count, равное количеству столбцов в выделенном диапазоне ячеек. Если это значение равно 2, то строится круговая диаграмма, если больше двух - строится гистограмма, если выделен один столбец, то выводится соответствующее окно сообщения. Работу этого оператора можно представить в виде следующей схемы:
If Selection.Columns.Count = 2 Then
'код создания круговой диаграммы
Else IfSelection.Columns.Count > 2 Then
'код создания гистограммы
Else
MsgBox "Выделенный диапазон не подходит для построения диаграммы"
Exit Sub
End If
После создания диаграммы процедура добавляет заголовок диаграммы и форматирует его. Для тестирования созданной процедуры перейдите в рабочую книгу и удалите все ранее созданные диаграммы. Выделите диапазон А1:С6 и выполните процедуру МояДиаграмма. Результат показан на рис. 18.4.
Рис. 18.4. Так как выделенный диапазон содержит более двух столбцов, то процедура построила гистограмму
Удалите гистограмму и выделите диапазон А1:В5. Снова выполните процедуру МояДиаграмма. Теперь будет создана круговая диаграмма. Сохраните рабочую книгу с именем Час18.
Резюме
Этот час был посвящен построению диаграмм. Вы узнали о коллекции Charts (Диаграммы) и объектах Chart, а также об их свойствах и методах.
В этом часе мы написали очень мало кода: сначала записали пару макросов, а потом просто использовали код этих макросов. Такой подход сэкономил нам много времени, которое пришлось бы потратить на "добывание" сведений об объектах, их свойствах и методах, необходимых для построения диаграмм. Многие разработчики приложений VBA используют этот подход: сначала записывают необходимые макросы, которые по возможности выполняли бы задуманное разработчиком, а затем изменяют и используют код этих макросов.