
- •Автоматизация графического отображения данных на диаграммах Excel с помощью vba
- •Теоретические сведения
- •Функция MsgBox
- •Окно ввода
- •Функция InputBox
- •InputBox(Сообщение[, Заголовок ] [, Умолчание]).
- •Объединение текстовых строк
- •Создание окон сообщений
- •Вставка диаграммы на лист Excel
- •Создание обычной гистограммы
- •Свойство HasLegend
- •Свойство HasTitle: создание заголовка диаграммы
Создание обычной гистограммы
Для того чтобы в созданном контейнере появилась диаграмма, отображающая нужные данные, достаточно лишь вызвать метод SetSourceData созданной диаграммы, и в качестве параметра указать диапазон A1:H4, а также, при помощи константы xlRows, указать, что развертывание оси значений следует производить по строкам таблицы (константа xlColumns задала бы считывание данных по столбцам).
ch.SetSourceData Range("A2:D5"), xlRows
ch.HasTitle = True
В результате диаграмма приобретет свой простейший вид, “обычная гистограмма” — один из множества типов, который, тем не менее, вполне наглядно представляет содержимое таблицы.
Свойство HasLegend
При помощи свойства HasLegend можно разрешить или запретить отображение легенды диаграммы.
Примечание: При изменении типа диаграммы необходимо учитывать одно обстоятельство. От выбранного типа диаграммы зависит набор доступных свойств и методов Chart-объекта. Например, для двумерных диаграмм не имеют смысла многие свойства диаграмм трехмерных. Поэтому перемена типа “на лету” может приводить к ошибкам, если вопрос “совместимости” меняющихся типов недостаточно продуман.
Свойство HasTitle: создание заголовка диаграммы
Чтобы снабдить диаграмму заголовком, необходимо воспользоваться свойством HasTitle. Для этого ему надо присвоить значение True. Без этого присваивания последующий код может привести к ошибке. Теперь, поскольку диаграмме разрешено иметь заголовок, можно обратиться к свойствам объекта ChartTitle, который представляет собой заголовок диаграммы. Создание заголовка диаграммы текстом
ch.HasTitle = True
With ch.ChartTitle
.Characters.Text = "ДИАГРАММА"
.Font.Size = 14
End With
Создание заголовка диаграммы из диапазона
With ch
.HasTitle = True
.ChartTitle.Text = Range("A1")
End With
В результате контейнер диаграммы получит заголовок, автоматически уменьшив размер собственно диаграммы, чтобы добавленная надпись поместилась в него.
Размер шрифта легенды можно задать следующим образом:
With ch
.HasLegend = True
.Legend.Left = 300
.Legend.Top = 100
.Legend.Font.Size = 16
.Legend.Font.ColorIndex = 3
End With
Формирование осей диаграммы
Число осей зависит от типа диаграммы. У трехмерных диаграмм различают ось значений, ось категорий и ось рядов данных. Все они доступны в семействе Axes соответствующего Chart-объекта, причем требуемая из осей указывается при помощи индекса-константы.
Поворот диаграмм вокруг осей
Любую трехмерную диаграмму можно поворачивать вокруг любой из осей, меняя углы возвышения (свойство Elevation), поворота (свойство Rotation) и перспективы (свойство Perspective). Пример:
ch.Elevation = 10 'углы возвышения (свойство Elevation)
'ch.Rotation = 120 'поворота (свойство Rotation)
'ch.Perspective = 30 'и перспективы (свойство Perspective).
Изменение заливки области диаграммы.
Для этого необходимо задать для области диаграммы заливку текстурой. Выберем текстуру “белый мрамор”:
ch.ChartArea.Fill.PresetTextured msoTextureWhiteMarble
В результате диаграмма будет повернута в соответствии с заданными углами и ее фон изменится.
Удаление диаграмм
Для удаления внедренной диафаммы нужно удалить ее контейнер ChartObject. Например, приведенный ниже оператор удаляет диаграмму активного рабочего листа.
ThisWorkbook.Worksheets(1).ChartObjects.Delete
либо
ActiveSheet.ChartObjects.Delete
Экспорт диаграмм как файлов GIF
Сохранить диаграмму как файл GIF несложно. Для этого достаточно запустить метод Export объекта chart. Ниже приведен макрос, сохраняющий активную диаграмму в файле Filename .gif.
ch.Export "d:\Filename.gif", "GIF"
Макрос сохраняет диаграмму в файле текущего каталога либо по указанному пути.
Порядок выполнения работы
Прочитать теоретический материал.
Выполнить практическую часть работы в соответствии с вариантом.
Оформить отчет о выполнении лабораторной работы.
Отчет должен содержать:
Титульный лист, оформленный по образцу;
Постановку задачи;
Теоретические сведения;
Порядок выполнения работы (словесное описание алгоритма решения поставленной задачи);
Результат выполнения работы
(код макросов с комментариями и рисунки, показывающие результат работы программы).
Требования по форматированию отчета о выполнении лабораторной работы:
Параметры страницы: ориентация книжная, поля: левое – 2см, правое, верхнее, нижнее – по 1,5 см;
Шрифт Times New Roman, высота 14пт, интервал шрифта обычный; выравнивание по ширине, отступ слева на 0 см, отступ первой строки – 1см, межстрочный интервал одинарный;
Нумерация страниц в правом нижнем углу;
Содержащиеся в отчете рисунки должны иметь названия;
К отчету прилагается электронный вариант выполненной работы, включающий в себя файл с отчетом (*.docx) и файл с созданным макросом (*.xlsm).
Лабораторная работа сдается за компьютером.
Практическая часть
Взяв за основу созданный в лабораторной работе №1 проект, выполнить следующие действия:
При вводе данных в соответствующие текстовые поля на форме должна производиться проверка наличия данных во всех полях.
В случае, если хотя бы одно из полей не будет заполнено, то по нажатию на кнопку Enter на экране должно появляться соответствующее диалоговое окно с сообщением о необходимости заполнить данное поле (см.рис.2).
Рис.2 Вариант диалогового окна
Ввод данных на лист Excel должен сопровождаться построчным расчерчиванием границ соответствующих ячеек.
В результате необходимо получить таблицу, состоящую из четырех столбцов: Слово, Часть речи, Перевод и Длина слова (вычисляемая с помощью стандартной функции Len).
На листе Excel необходимо вывести еще одну таблицу, отображающую частоту встречаемости слов в первой таблице по частям речи (изменить тип, размер, цвет и начертание шрифта, выполнить заливку ячеек, изменить тип границы на двойную непрерывную линию).
Добавить на созданную форму кнопку Построить диаграмму, по нажатию на которую должно производится построение диаграммы по данным таблицы, содержащей частоту встречаемости слов и кнопку Удалить диаграмму, выполняющую соответствующее действие (см. рис.3).
Рис.3 Пример интерфейса разрабатываемого приложения