Урок: «Создание макросов в приложении Microsoft Ехсеl».
На этом уроке мы рассмотрим следующие вопросы:
- Понятие макроса.
- Запись простых макросов.
- Выполнение макросов.
- Назначение макроса графическим изображениям.
- Удаление макросов из списка макросов.
- Ограниченность макросов.
Понятие макроса.
Основное назначение макросов - это автоматизация работы пользователя.
Макрос - это имеющая имя последовательность заданных пользователем команд, и действий хранящаяся в форме программы на языке VВА, которую может выполнить
приложение.
На сегодняшний день Visual Basic for Application (VВА) - один из самых простых в изучении и применении языков программирования для автоматизации приложений, входящих в пакет Microsoft Offic.
Запись макросов в приложении Ехсеl.
Для работы с макросами в приложении Ехсеl имеется специальная панель.
Меню: Вид- Панель инструментов - Visual Basic.
Рисунок1.
Общий алгоритм записи макроса:
- Нажать на кнопку «Запись макроса» на панели Visual Basic
- В диалоговом окне «Запись макроса» дать имя макросу.
Первым символом имени макроса должна быть буква. В имени макроса не опускается использование пробелов.
Рисунок2.
- Выполнить действия, которые нужно записать.
- Нажать кнопку «Остановить запись» на панели Visual Basic.
Задание I (открыть Приложение1)
Рассмотрим процедуру записи макросов на примере очень простого макроса, который изменяет шрифт и цвет в выделенном диапазоне ячеек. Эти действия в Ехсеl можно выполнить многими различными способами (например, применение стилей, автоформатирования и т.д.), этот пример продемонстрирует последовательность действий пользователя, необходимые для записи макроса).
Рисунок 3.
1. В ячейку А4 введите ваше имя, в ячейку А5 введите фамилию, в ячейку А6 - город, где вы родились, в ячейку А7 - название страны.
2. Установите курсор в ячейке А4.
3. На панели Visual Basic нажмите кнопку «Запись макроса» Рисунок4.
4. Введите название макроса «ЦветШрифт» и нажмите клавишу «ОК». На экране появится панель инструментов «Остановить запись» Рисунок 5.
ВНИМАНИЕ! КАЖДОЕ ВАШЕ ДЕЙСТВИЕ ЗАПИСЫВАЕТСЯ.
5. Выполните команду Формат – Ячейки - Шрифт - Размер 11- Цвет красный - ОК.
6. Щелкните на кнопке «Остановить запись» на панели Visual Basic. Запись макроса завершена.
Выполнение макросов.
При выполнении макроса Ехсеl повторяет те же действия, которые вы выполнили в процессе его создания. Продолжим работу с созданным макросом.
1.Установить курсор в ячейку А4.
2.Выполнить команду Сервис-Макрос-Макросы
Рисунок 6.
3.Выделите макрос ЦветШрифт и Выполнить.
4.Аналогично с ячейками А3 и А4.
Назначение макроса графическим изображениям.
Продолжим работу с заданием I.
1. Используя панель Рисование, нарисуйте на листе любую автофигуру.
2.Щелкните правой кнопкой мыши на изображении и в открывшемся контекстном меню выберите команду Назначить макрос. Отобразится диалоговое окно Назначить макрос объекту.
3. Выберите макрос «ЦветШрифт» и подтвердите выполнение операции.
4. Щелкните вне графического изображения, чтобы снять выделение с объекта.
5. Введите число и проверте выполнение макроса.
Рисунок7
Удаление макросов из списка макросов.
Для того, чтобы удалить макрос из списка макросов диалогового окна Макросы надо:
1. Выполнить команду Сервис - Макрос - Макросы.
2. Выделить макрос, подлежащий удалению и щелкнуть по кнопке «Удалить».
3. Подтвердить выполнение операции в специальном окне, которое появится.
Ограниченность макросов
В Ехсеl многие процедуры можно выполнить с помощью макросов, но макросы имеют и ограничения. С помощью макросов нельзя выполнить различные действия в зависимости от содержимого ячейки, нельзя вызвать некоторые диалоговые окна Ехсе1, например, сохранить документ, нельзя отобразить и использовать пользовательские формы ввода данных.
Эти ограничения приводят к необходимости создания программ на VВА.
Задания для самостоятельного выполнения.
1.Введите в диапазон F1:F5 любые числа. Создайте макрос для очистки диапазона F1:F5. С помощью панели инструментов «Рисование» создайте кнопку с надписью «Очистить». Назначьте кнопке созданный макрос.
2. Введите в диапазон С2:С6 фамилии ваших друзей, а в диапазон D2:D6 занесите их телефоны.
Создайте две кнопки с названиями «Выделенное скопировать» и «Вставить». По нажатию на первую кнопку выделенный диапазон должен копироваться в буфер обмена. По нажатию на вторую кнопку информация из буфера обмена должна выводиться в текущую ячейку.
Задание II. Текст по столбцам
В столбец А введите исходные данные:
Рисунок 8.
Рисунок 9.
Необходимо номера и телефоны разнести по разным столбцам.
В Ехсеl существует специальная команда для выполнения этой операции
Данные - Текст по столбцам.
Технология работы:
- Выделите все ячейки столбца А, где занесены исходные данные;
- Выполните команду Данные-Текст по столбцам, появится диалоговое окно.
В этом окне укажите формат данных –« с разделителями». Нажмите кнопку «Далее».
- Во втором диалоговом окне укажите символом – разделителем является «пробел» Нажмите кнопку «Далее».
- В третьем окне установите для каждого столбца данных формат данных
( текстовой) и «Поместить в – щелкните по нужной ячейки ( =$C$1 )»- первый столбец, (=$D$1) – второй столбец – «Готово»
Создайте макрос для разбора данных по ячейкам. Привяжите макрос к автофигуре. Создайте макрос для очистки ячеек, в которые заносятся разобранные данные.
ЗаданиеIII. Подведение промежуточных итогов с применением макросов.
Повторим Ехсеl, подведем промежуточные итоги, используя возможности программы, затем запишем макросы, которые будут автоматически, а не вручную подводить промежуточные итоги и убирать их с листа.
Рисунок10.
Технология работы.
- Откройте лист «Итоги»
- В столбце «Сумма» значение рассчитайте по формуле
- Отсортируйте таблицу по столбцу «Товар».
В процессе подготовки отчетов часто требуется подводить итоги. Возможности Ехсel позволяют автоматически вносить промежуточные итоги в таблицы, не задавая вручную области или формулы для них. Иногда требуется выделять и показывать на экране только часть информации из созданного отчета. В зависимости от цели отчета, в него может быть включена полная информация рабочего листа, только промежуточные и общие итоги или только общие итоги.
Рассмотрим использование команды «Итоги» на нашем примере. Подсчитаем, на какую сумму было продано отдельно ксероксов и отдельно факсов.
1.Установим курсор на любую ячейку отсортированной таблицы.
2.Выполним команду Данные-Итоги. В появившемся диалоговом окне «Промежуточные итоги» в строке При каждом изменении в выберем из открывшегося списка название графы «Товары», в строке Операция - функцию Сумма, в строке Добавить итоги по - выберем название графы «Сумма» - ОК
Создание макросов.
Установите курсор на исходную таблицу. Если таблица не отсортирована ,отсортируйте по полю «Товар» Данные-Сортировка.
1.Для создания 1 макроса активизируйте любую ячейку таблицы и MacroRecorde с помощью команды Сервис-Макрос-Начать запись. Назначте имя макроса «Итоги»- ОК
2.Выполним команду Данные-Итоги
В диалоговом окне выберете в строке
При каждом изменении в выберем из открывшегося списка название графы «Товары», в строке Операция - функцию Сумма,
в строке Добавить итоги по - выберем название графы «Сумма» - ОК
3.Активизируйте опцию Итоги под данным. Нажмите клавишу ОК
Остановите запись макроса, нажав на кнопку Остановить запись.
Просмотрите записанную программу. Для этого выполните команду Сервис-Макрос-Макросы. Выделите макрос «Итоги» и нажмите кнопку Изменить. Это вызовет появление главного окна редактора VВА с текстом записанного макроса .
4. Для создания 2-ого макроса «Убрать промежуточные итоги»:
Активизируйте MacroRecorde с помощью команды Сервис-Макрос-Начать запись. Появится диалоговое окно «Запись макроса». Назначить имя макроса «Убратьитоги» Установите курсор в исходную таблицу. Выполните команду Данные—Итоги. В появившемся окне щелкнуть по кнопке «Убрать все».Остановите запись макроса, нажав на кнопку Остановить запись.
На листе «Итоги» создадим кнопки и привяжем к ним созданные макросы .
Рисунок11.
Подведение итогов урока:
- Как автоматизировать действия в приложениях.
- Дать понятие Макроса.
- Перечислить порядок записи простых Макросов
- Выполнение Макросов.
- Назначение Макроса графическим объектам.
- Ограниченность Макросов.
- Попробуйте создать Макросы в MicrosoftWord.