Работа с авторекордером

В процессе выполнения лабораторной работы вами должно быть создано 3 рабочих книги:

Запись_макроса_исходная

Запись_макроса_отредактированная

Запись_макроса_шаблон

Каждая последующая книга создается на основе предыдущей и в нее вносятся необходимые изменения.

Запись последовательности действий пользователя с автоматическим преобразованием их в код VBA осуществляется с помощью специальной функции записи макросов Excel. Как это делается, рассмотрим на примере создания таблицы “Поставка товаров” (рис.8).

Поставка товаров
Код товара Наименование товара Единица измерения Цена Количество Сумма
Товар 1 шт. 10,00р. 50,00р.
Товар 2 шт. 15,00р. 150,00р.
Товар 3 шт. 20,00р. 400,00р.
Товар 4 кг. 20,00р. 210,00р.
Работа с авторекордером - student2.ru       Итого: 810,00р.

Работа с авторекордером - student2.ru

Рис. 8. Таблица “Поставка товаров”

Суть задачи состоит в следующем:

нужно создать один или несколько макросов, при выполнении которых создаётся форма таблицы, таблица форматируется и заполняется данными и формулами для расчёта построчных сумм для каждого товара и общей суммы за поставку всех товаров.

Порядок действий следующий.

- Открыть рабочую книгу; по умолчанию активизируется Лист1.

- Выполнить команду Сервис ® Макрос ® Начать запись(вExcel 2003). В Excel 2007 / 2010 / 2013 на вкладке Разработчик в группе Код нажать Запись макроса.

Работа с авторекордером - student2.ru Работа с авторекордером - student2.ru

Рис. 9. Лента MS Excel с открытой вкладкой Разработчик

Можно на вкладке Вид нажать кнопку Макросы и выбрать в появившемся меню опцию Запись макроса.

Работа с авторекордером - student2.ru Работа с авторекордером - student2.ru

Рис. 10. Лента MS Excel с открытой вкладкой Вид

В обоих случаях отобразится диалоговое окно Запись макроса. Можно оставить имя макроса по умолчанию, обычно – Макрос1 (рис.11)

Работа с авторекордером - student2.ru

Рис. 11. Окно записи имени макроса

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

- ввод заголовка и “шапки” таблицы,

- форматирование таблицы,

- ввод расчётных формул,

- ввод исходных данных таблицы.

Для программного решения этих задач создадим следующие макросы:

· ЗаголовокШапка,

· Формулы,

· Форматирование,

· ВводДанных.

Поскольку в именах VBA, в т.ч. макросов, не допускаются пробелы, их рекомендуется заменять символом “_” (подчёркивание, например, Заголовок_шапка) или писать слова слитно, начиная каждое слово с прописной (заглавной) буквы (ЗаголовокШапка). Используем второй вариант – ЗаголовокШапка.

После ввода имени макроса щёлкнуть кнопку OK, чтобы принять параметры по умолчанию.

Excel вставит новый модуль VBA в проект.

Начиная с этого момента, Excel будет преобразовывать действия пользователя в код VBA. В Excel 2003 при записи в окно добавляется плавающая панель инструментов (рис. 12), содержащая две кнопки: левая – “Остановить запись”(синий квадрат) и правая – “Относительная ссылка”:

Работа с авторекордером - student2.ru Работа с авторекордером - student2.ru

Рис. 12. Панель останова записи макроса

Если эта панель не появилась, то нужно выполнить команду Вид ® Панели инструментов ® Настройка и в появившемся окне на вкладке Панели инструментов выставить флажок “Остановить запись”).

В Excel 2007 / 2010 / 2013 на вкладке Разработчик в группе Код нажать Остановить запись.

Аналогичные действия по записи макроса можно выполнить, нажав кнопку Макросы на вкладке Вид и выбрав соответствующую опцию в раскрывающемся списке под этой кнопкой.

В некоторых случаях требуется (например, условия практического задания 1.2) чтобы макрос вводил информацию в активные ячейки. Такой макрос должен быть записан с относительными ссылками. Исходная ячейка выделяется путем вычисления относительного адреса (смещения) и макрос всегда начинает ввод текста в активной ячейке.

Для реализации относительной формы записи следует включить кнопку Относительные ссылки в группе Макросы на вкладке Вид или в группе Код на вкладке Разработчик. Метод записи можно изменять в любой момент записи макроса.

Наши рекомендации