Создание макросов в редакторе Visual Basic

Для создания макроса в Excel используется специальное окно — редактор программ на языке программирования Visual Basic for Applications (VBA).

По умолчанию, вкладка, отвечающая за работу с макросами не отображается в ленте Excel, поэтому ее надо активировать.
Для этого в ленте переходим на вкладку «Файл» -> «Параметры» -> «Основные» и включаем в правой части окна флажок Показывать вкладку «Разработчик» на ленте:

Вкладка разработчик

Добавление вкладки «Разработчик» на ленту


Теперь на ленте вкладок доступна новая вкладка «Разработчик», в которой доступны основные инструменты для работы с макросами:

Вкладка разработчик

Вкладка «Разработчик» на панели вкладок


Для перехода в редактор VBA нажимаем кнопку «Visual Basic».
Интерфейс редактора VBA выглядит следующим образом:

Интерфейс редактора VBA

Интерфейс редактора VBA


Данная часть программы не переводится на русский язык, поэтому для работы здесь придется пользоваться английскими командами.
Макросы в Excel хранятся в модулях, доступ к которым осуществляется с помощью окна Project Explorer. В зависимости от поставленных задач выделяют 3 типа модулей:

Модули для макросов

Виды модулей для макросов

  1. Модуль листа — модуль используется для макросов, которые выполняются при наступлении определенных условий на данном листе (например, пересчет формул, копирование листа и т.д.);
  2. Модуль «ЭтаКнига» — модуль используется для макросов, которые выполняются при наступлении определенных условий в данной книге (например, при окрытии книги, при сохранении и т.д.);
  3. Обычные модули — модуль предназначен для любых макросов.

Рассмотрим стандартный вид макроса из любого модуля:

Код макроса VBA

Код макроса на языке программирования VBA


На конкретном примере разберем структуру макроса:

  1. Начало макроса — любой макрос начинается с оператора Sub, за которым следует имя макроса и список аргементов;
  2. Тело макроса — команды, которые будут выполняться при запуске макроса (в данном конкретном примере макрос каждой ячейке из выделенной области присваивает случайное число от 1 до 100 и заменяет формулы на значения);
  3. Конец макроса — любой макрос заканчивается оператором End Sub.

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

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями:
Поиск по сайту:

Добавить комментарий

Ваш адрес email не будет опубликован.