Найти в Дзене
Excellent - Всё про Excel

Создаем личную книгу макросов в Excel

Оглавление

Сначала пара простых определий:

  • Макрос - код, написанный на языке VBA (Visual Basic for Applications), с помощью которого автоматизируется работа в Excel. Код должен где-то храниться. Например, это может быть конкретный файл, внутри которого код решает свою задачу. Или, например, это может быть универсальный файл - личная книга макросов. В этом случае код будет доступен в любом файле.
  • Личная книга макросов - это excel-файл с названием PERSONAL.xlsb, который открывается в скрытом режиме одновременно с запуском Excel. Пользователь никогда не видит этот файл (хотя, конечно, у него есть вполне конкретное расположение)

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

1. Создаем личную книгу макросов

Создать книгу достаточно просто. Для этого потребуется один раз сделать несколько движений:

  • Открываем вкладку "Вид" >> нажимаем кнопку "Запись макроса..." (эта же кнопка присутствует на вкладке Разработчик, которая может быть отключенной)
Excel. Расположение кнопки "Запись макроса..."
Excel. Расположение кнопки "Запись макроса..."
  • В открывшемся окне можно оставить пустыми поля с именем макроса, сочетанием клавиш и описанием - для нас сейчас это всё неважно, но в поле "Сохранить в:" нужно выбрать "Личная книга макросов" и нажать ОК:
Excel. Диалоговое окно "Запись макроса"
Excel. Диалоговое окно "Запись макроса"
  • Как только вы нажали ОК, Excel будет следить за каждым вашим действием и записывать их в виде кода, который в последствии можно воспроизвести (повторить все действия). Нам сейчас достаточно совершить любое движение - например, выделите любую ячейку.
  • Теперь останавливаем запись макроса. Путь тот же: Вид >> Макросы >> на месте кнопки "Запись макроса..." теперь находится кнопка "Остановить запись"
Excel. Макросы. Расположение кнопки "Остановить запись"
Excel. Макросы. Расположение кнопки "Остановить запись"
  • Готово. Теперь у нас есть первый макрос, который, по сути, ничего не умеет. Но, главное, вместе с ним была автоматически создана персональная книга макросов.

2. Как разместить код в персональной книге макросов.

Переходим в редактор VBA в Excel. Для этого нажимаем кнопку "Visual Basic" на вкладке Разработчик или просто используем сочетание клавиш Alt+F11:

Excel. Расположение кнопки Visual Basic
Excel. Расположение кнопки Visual Basic

Далее, нам нужно окно Project - VBAProject. Если оно скрыто, то отобразить его можно двумя способами:

  • В меню сверху View >> галочка напротив Project Explorer
  • Или сочетание клавиш Ctrl+R
Excel. Редактор VBA. Расположение кнопки Project Explorer
Excel. Редактор VBA. Расположение кнопки Project Explorer

В открывшемся окне раскрываем через "+" структуру VBAProject (PERSONAL.XLSB) >> находим Module 1 и делаем по нему двойной клик >> рядом откроется окно "PERONAL.XLSB - Module1 (Code)", где вы увидите код записанного ранее макроса. Этот код можно (и для порядка, я бы сказал, нужно) удалить, а на его место разместить необходимый. И не забываем сохраняться:)

Далее собственные макросы можно размещать в этом же модуле, либо создавать новые, чтобы каким-то образом их группировать - это не принципиально.

Excel. Пример расположения кода в персональной книге макросов.
Excel. Пример расположения кода в персональной книге макросов.

Например, если вы хотите разместить в персональной книге макросов код, которые будет отображать все скрытые листы (ссылка на пост), то это будет выглядеть примерно так:

Excel. Редактор VBA. Еще один пример кода.
Excel. Редактор VBA. Еще один пример кода.

3. Запуск макроса

Чтобы запустить макрос, редактор VBA больше не нужен.

  • Следуем по пути: Вид >> Макросы
  • Или используем сочетание клавиш Alt+F8

В открывшемся окне видим записанный ранее макрос PERSONAL.XLSB!AllSheetsVisible. Для запуска достаточно выбрать его из списка и нажать кнопку "Выполнить".

Excel. Окно запуска макроса.
Excel. Окно запуска макроса.
PS. Подписывайтесь и задавайте вопросы - разберемся вместе.
Наука
7 млн интересуются