Студопедия Главная Случайная страница Задать вопрос

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Усовершенствованная процедура построения диаграмм





 

Цель работы: приобретение навыков записи макроса, создающего диаграмму, исследования и изменения кода этого макроса в VBA.

 

1 Теоретические сведения

 

Построение диаграмм – одно из самых популярных средств Excel. Можно автоматизировать процесс построения диаграмм. Для этого необходимо записать макрос, а затем усовершенствовать процедуру построения диаграмм.

Код макроса построения круговой диаграммы по таблице 6.1

Таблица 6.1

Товар Объем продаж
Яблоки
Груши
Апельсины
Лимоны
Персики

 

будет иметь вид:

Sub КруговаяДиаграмма ( )

Charts.Add

ActiveChart.ChartType = xlPie

ActiveChat.SetSourceData _

Sourse := Sheets(“Лист1”).Range(“A1:B6”), PlotBy := xlColumns

ActiveChart.Location Where := xlLocationAsObject, Name := “Лист1”

ActiveChart.ApplyDataLabels _

Type := xlDataLabelsShowPercent, LegendKey := False, _

HasLeaderLines := True

ActiveChart.ChartTitle.Select

Selection.AutoScaleFont = True

With Selection.Font

.Name = “Arial”


 

.FontStyle = “полужирный курсив”

.Size = 14

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

.BackGround = xlAutomatic

End With

End Sub

Для того чтобы процедура строила диаграмму на основании только тех данных, которые мы выделяем, необходимо изменить оператор, задающий источник данных для построения диаграммы:

ActiveChart.SetSourceData _

Sourse := Sheets(“Лист1”).Range(“A1:B6”), _

PlotBy := xlColumns

Внесем изменения в процедуру. В верхней части процедуры введем две строки кода с объявлением и заданием новой переменной:

Dim rCurrentRange As Range

Set rCurrentRange = Selection

В операторе задания источника данных замените непосредственное указание диапазона ячеек Sheets(“Лист1”).Range(“A1:B6”) на переменную rCurrentRange:

ActiveChart.SetSourceData _

Sourse := rCurrentRange, PlotBy := xlColumns

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

Для создания еще более усовершенствованной процедуры диаграмм, т.е. такой процедуры, которая проверяла бы количество выделенных столбцов данных, и если выделено два столбца, то строила бы круговую диаграмму, а если выделено три столбца – гистограмму, записывается еще один макрос построения гистограммы, а затем комбинируются две процедуры в одну. При создании такой процедуры используется в основном копирование и вставка кода из ранее созданных


макросов. “Изнанкой” этой процедуры является применение оператора If. Этот оператор проверяет значение свойства Columns.Count, равное количеству столбцов в выделенном диапазоне ячеек. Если это значение равно 2, то строится круговая диаграмма; если больше двух – строится гистограмма; если выделен один столбец, то выводится соответствующее окно сообщения. Работу этого оператора можно представить в виде следующей схемы:

If Selection.Columns.Count = 2 Then

'код создания круговой диаграммы

Else Selection.Columns.Count > 2 Then

'код создания гистограммы

Else

MsgBox “Выделенный диапазон не подходит для построения диаграммы”

Exit Sub

End If

 

2 Практическое задание

 

З а д а н и е 1

Создайте экранную форму с пятью переключателями (рисунок 6.1):

 

Рисунок 6.1


 

- Круговая диаграмма;

- Объемная круговая диаграмма;

- Гистограмма;

- Гистограмма с накоплением;

- Объемная гистограмма с накоплением.

Создайте процедуру с именем ВыборТипаДиаграмм, которая выводила бы экранную форму. В экранной форме, в зависимости от числа столбцов в выделенном диапазоне ячеек, должен быть предустановлен или переключатель Круговая диаграмма, или Гистограмма. После выбора пользователем типа диаграммы и щелчка на кнопке ОК формы диаграмма выбранного типа должна быть построена.

Совет: объявите переменную, содержащую выделенный диапазон, как глобальную (public) переменную.

 

3 Контрольные вопросы

 

3.1 Какой оператор VBA используется для создания диаграммы?

3.2 Какое свойство объекта Application возвращает текущую активную диаграмму?

3.3 Какое свойство объекта Chart определяет тип создаваемой диаграммы?

3.4 Какой метод объекта Chart управляет данными, отображаемыми в диаграмме?

 

Лабораторная работа 7

 






Дата добавления: 2014-11-10; просмотров: 261. Нарушение авторских прав

Studopedia.info - Студопедия - 2014-2017 год . (0.008 сек.) русская версия | украинская версия