Если необходимо применить определенную последовательность действий, не нужно каждый раз проделывать их заново. Достаточно записать макрос в системе Excel. Он будет содержать в своем коде все команды.
После записи и сохранения макроса его можно применять неограниченное количество раз. Достаточно запустить его нажатием выбранной для его вызова клавиши. Это будет удобнее, чем повторение одних и тех же действий вручную.
Для сохранения макроса нужно инициировать процесс записи. Для этого поднимите взгляд на верхнюю панель Excel и найдите вкладку «Вид», откройте ее. После этого нажмите на кнопку «Макросы».
Примечание: В версии Excel 2003 года — это меню находится в панели «Инструментов».
Данные параметры можно наблюдать на картинке ниже:
После перехода в меню макросов нажмите кнопку «Запись». Оно будет справа. Вы можете дать название макросу при желании. Рекомендуется дать ему точное наименование. Тогда при возвращении к нему не возникнет путаница.
В случае отсутствии пользовательского имени система назовет его автоматически и пронумерует. Например, Macro_1, Macro_2 и т.д.
При создании макроса можно назначить сочетание клавиш. Это ускорит его использование. Будьте внимательны! Не нужно назначать на макрос уже заранее заданные системой комбинации клавиш. Например, CTRL+C. Такое действие нарушит привычную работу, потому что на место стандартной команды запишется ваш макрос.
Как только все параметры будут заданы, нажмите «ОК». Система начнет запись макроса.
При начале работы макроса вложенное в него действие (выбор ячеек, ввод данных, форматирование ячеек, прокрутка рабочего листа) будет записано в виде VBA кода.
Во время процесса создания и записи макроса процесс можно будет остановить специальной кнопкой. Она находится в левом нижнем углу.
Примечание: В версии Excel 2003 года данная клавиша отображается на панели инструментов.
Все, как показано на рисунке:
Как только нужные действия записаны, вы можете остановить процесс работы макроса. Его код теперь будет храниться в одном из модулей редактора Visual Basic.
Опция «Использования относительных ссылок»
При выборе «Относительных ссылок» во время записи макроса все ссылки на ячейки в нем будут относительными. В противном случае ссылки будут абсолютными в VBA коде.
Параметр «Относительные ссылки» находится в меню «Макросы». В версии Excel 2003 года данная опция доступна на панели инструментов.
Просмотр VBA кода
Код VBA, созданный записью макроса, находится в модуле. Получить доступ к нему и просмотреть его можно при помощи редактора Visual Basic. Для этого используется сочетание клавиш ALT+F11. Задержите палец на клавише ALT и во время этого нажмите F11.
Код находится в одном из модулей окна проекта. Оно расположено слева от редактора Visual Basic. На картинке выше показано, что код макроса можно увидеть, щелкнув на «Модуль 1».
Запуск макросов в Excel
Запустить макрос можно процедурой Sub (не путать с процедурой Function). При назначении клавиш для макроса достаточно просто нажать необходимые кнопки на клавиатуре. В противном случае прибегают к следующим шагам:
- Нажмите сочетание клавиш ALT+F8 (не отпуская ALT нажимайте на F8). Откроется меню макросов.
- В диалоговом окне «Макросы» выберите нужный элемент.
- Щелкните «Запустить».
Недостатки и ограничения функциональности
Запись макросов в Microsoft Excel является простым способом создания VBA кода. Но ее функционал ограничивается только простыми операциями. Не могут быть использованы следующие функции кода:
- Определение константы, работа с переменными и массивами.
- Операции с условиями.
- Скобки.
- Встроенные функции и другие процедуры.
Кроме того, подпроцедуры Sub не могут выдавать значения переменных. Им недоступны рабочие таблицы и диапазоны значений аргумента, которые хранятся в рабочей книге. Сгенерированный код потому не является выгодным решением для таких операций.
При желании создания макросов для более сложных операций можно адаптировать VBA-код под себя. Для этого надо перезаписать его и внедрить более сложные макросы.