Сначала пара простых определий:
- Макрос - код, написанный на языке VBA (Visual Basic for Applications), с помощью которого автоматизируется работа в Excel. Код должен где-то храниться. Например, это может быть конкретный файл, внутри которого код решает свою задачу. Или, например, это может быть универсальный файл - личная книга макросов. В этом случае код будет доступен в любом файле.
- Личная книга макросов - это excel-файл с названием PERSONAL.xlsb, который открывается в скрытом режиме одновременно с запуском Excel. Пользователь никогда не видит этот файл (хотя, конечно, у него есть вполне конкретное расположение)
По умолчанию, книги макросов не существует до того, как туда не запишется первый макрос.
1. Создаем личную книгу макросов
Создать книгу достаточно просто. Для этого потребуется один раз сделать несколько движений:
- Открываем вкладку "Вид" >> нажимаем кнопку "Запись макроса..." (эта же кнопка присутствует на вкладке Разработчик, которая может быть отключенной)
- В открывшемся окне можно оставить пустыми поля с именем макроса, сочетанием клавиш и описанием - для нас сейчас это всё неважно, но в поле "Сохранить в:" нужно выбрать "Личная книга макросов" и нажать ОК:
- Как только вы нажали ОК, Excel будет следить за каждым вашим действием и записывать их в виде кода, который в последствии можно воспроизвести (повторить все действия). Нам сейчас достаточно совершить любое движение - например, выделите любую ячейку.
- Теперь останавливаем запись макроса. Путь тот же: Вид >> Макросы >> на месте кнопки "Запись макроса..." теперь находится кнопка "Остановить запись"
- Готово. Теперь у нас есть первый макрос, который, по сути, ничего не умеет. Но, главное, вместе с ним была автоматически создана персональная книга макросов.
2. Как разместить код в персональной книге макросов.
Переходим в редактор VBA в Excel. Для этого нажимаем кнопку "Visual Basic" на вкладке Разработчик или просто используем сочетание клавиш Alt+F11:
Далее, нам нужно окно Project - VBAProject. Если оно скрыто, то отобразить его можно двумя способами:
- В меню сверху View >> галочка напротив Project Explorer
- Или сочетание клавиш Ctrl+R
В открывшемся окне раскрываем через "+" структуру VBAProject (PERSONAL.XLSB) >> находим Module 1 и делаем по нему двойной клик >> рядом откроется окно "PERONAL.XLSB - Module1 (Code)", где вы увидите код записанного ранее макроса. Этот код можно (и для порядка, я бы сказал, нужно) удалить, а на его место разместить необходимый. И не забываем сохраняться:)
Далее собственные макросы можно размещать в этом же модуле, либо создавать новые, чтобы каким-то образом их группировать - это не принципиально.
Например, если вы хотите разместить в персональной книге макросов код, которые будет отображать все скрытые листы (ссылка на пост), то это будет выглядеть примерно так:
3. Запуск макроса
Чтобы запустить макрос, редактор VBA больше не нужен.
- Следуем по пути: Вид >> Макросы
- Или используем сочетание клавиш Alt+F8
В открывшемся окне видим записанный ранее макрос PERSONAL.XLSB!AllSheetsVisible. Для запуска достаточно выбрать его из списка и нажать кнопку "Выполнить".
PS. Подписывайтесь и задавайте вопросы - разберемся вместе.