- •Лабораторная работа №1 Запись последовательности действий пользователя
- •Общие положения
- •Знакомство с интерфейсом пользователя в разных версиях ms Office
- •Создание макроса с помощью авторекодера
- •Установка уровня безопасности
- •Работа с авторекордером
- •Ввод заголовка и “шапки” таблицы
- •Ввод расчётных формул
- •Форматирование таблицы
- •Ввод данных
- •Контрольное упражнение к лабораторной работе №1
Работа с авторекордером
В процессе выполнения лабораторной работы вами должно быть создано 3 рабочих книги:
Запись_макроса_исходная
Запись_макроса_отредактированная
Запись_макроса_шаблон
Каждая последующая книга создается на основе предыдущей и в нее вносятся необходимые изменения.
Запись последовательности действий пользователя с автоматическим преобразованием их в код VBA осуществляется с помощью специальной функции записи макросов Excel. Как это делается, рассмотрим на примере создания таблицы “Поставка товаров” (рис.8).
-
Поставка товаров
Код товара
Наименование товара
Единица измерения
Цена
Количество
Сумма
101
Товар 1
шт.
10,00р.
5
50,00р.
102
Товар 2
шт.
15,00р.
10
150,00р.
103
Товар 3
шт.
20,00р.
20
400,00р.
104
Товар 4
кг.
20,00р.
105
210,00р.
Итого:
810,00р.
Рис. 8. Таблица “Поставка товаров”
Суть задачи состоит в следующем:
нужно создать один или несколько макросов, при выполнении которых создаётся форма таблицы, таблица форматируется и заполняется данными и формулами для расчёта построчных сумм для каждого товара и общей суммы за поставку всех товаров.
Порядок действий следующий.
Открыть рабочую книгу; по умолчанию активизируется Лист1.
Выполнить команду Сервис Макрос Начать запись (в Excel 2003). В Excel 2007 / 2010 / 2013 на вкладке Разработчик в группе Код нажать Запись макроса.
Рис. 9. Лента MS Excel с открытой вкладкой Разработчик
Можно на вкладке Вид нажать кнопку Макросы и выбрать в появившемся меню опцию Запись макроса.
Рис. 10. Лента MS Excel с открытой вкладкой Вид
В обоих случаях отобразится диалоговое окно Запись макроса. Можно оставить имя макроса по умолчанию, обычно – Макрос1 (рис.11)
Рис. 11. Окно записи имени макроса
или ввести любое другое имя, по возможности, чтобы оно соответствовало выполняемым макросам действиям. В рассматриваемом примере создадим четыре макроса, которые решают следующие задачи:
ввод заголовка и “шапки” таблицы,
форматирование таблицы,
ввод расчётных формул,
ввод исходных данных таблицы.
Для программного решения этих задач создадим следующие макросы:
ЗаголовокШапка,
Формулы,
Форматирование,
ВводДанных.
Поскольку в именах VBA, в т.ч. макросов, не допускаются пробелы, их рекомендуется заменять символом “_” (подчёркивание, например, Заголовок_шапка) или писать слова слитно, начиная каждое слово с прописной (заглавной) буквы (ЗаголовокШапка). Используем второй вариант – ЗаголовокШапка.
После ввода имени макроса щёлкнуть кнопку OK, чтобы принять параметры по умолчанию.
Excel вставит новый модуль VBA в проект.
Начиная с этого момента, Excel будет преобразовывать действия пользователя в код VBA. В Excel 2003 при записи в окно добавляется плавающая панель инструментов (рис. 12), содержащая две кнопки: левая – “Остановить запись”(синий квадрат) и правая – “Относительная ссылка”:
Рис. 12. Панель останова записи макроса
Если эта панель не появилась, то нужно выполнить команду Вид Панели инструментов Настройка и в появившемся окне на вкладке Панели инструментов выставить флажок “Остановить запись”).
В Excel 2007 / 2010 / 2013 на вкладке Разработчик в группе Код нажать Остановить запись.
Аналогичные действия по записи макроса можно выполнить, нажав кнопку Макросы на вкладке Вид и выбрав соответствующую опцию в раскрывающемся списке под этой кнопкой.
В некоторых случаях требуется (например, условия практического задания 1.2) чтобы макрос вводил информацию в активные ячейки. Такой макрос должен быть записан с относительными ссылками. Исходная ячейка выделяется путем вычисления относительного адреса (смещения) и макрос всегда начинает ввод текста в активной ячейке.
Для реализации относительной формы записи следует включить кнопку Относительные ссылки в группе Макросы на вкладке Вид или в группе Код на вкладке Разработчик. Метод записи можно изменять в любой момент записи макроса.
