Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.
Задача: макрос, хранящийся в личной книге макросов, всегда в вашем распоряжении. Вы можете запустить его из любой книги, открытой на компьютере. Кроме того, вам не придется преодолевать настройки безопасности для запуска макросов, хранящихся в личной книге макросов. Если вы никогда не пользовались личной книгой макросов, то ее у вас нет, и ее необходимо создать на вашем ПК.
Решение: в Excel 2007 и более поздних версиях выполните следующие действия:
Откройте любую рабочую книгу или создайте новую (Ctrl+N).
В нижнем левом углу окна Excel справа от слова ГОТОВО в строке состояния вы найдете значок записи макроса (рис. 1). Щелкните по нему.
Рис. 1. Пиктограмма записи макроса является одной из немногих иконок вне ленты
Скачать заметку в формате Word или pdf
Excel выведет диалоговое окно Запись макроса (рис. 2). Введите имя макроса, например, HelloWorld (без пробелов). В поле Сохранить в с помощью раскрывающегося списка выберите Личная книга макросов. Поля Сочетание клавиш и Описание можно оставить пустыми. Нажмите Оk.
Рис. 2. Диалоговое окно Запись макроса
Примечание. Excel позволяет хранить макросы в личной книге макросов, в той же (активной) книге, в отдельной (новой) книге.
Выполните какое-либо действие, чтобы запустить макро рекордер. Например, выделите ячейку, нажмите Ctrl+B и наберите Hello.
Остановите запись макроса, нажав на квадратный значок в нижнем левом углу окна Excel в строке состояния (рис. 3). Эта иконка появляется на месте иконки записи макроса, как только стартовала запись макроса.
Рис. 3. Пиктограмма остановки записи макроса
Примечание: вы также можете записать макрос, выбрав на ленте закладку ВИД, и кликнув Макросы –> Запись макроса (рис. 4), или вкладку РАЗРАБОТЧИК, перейти в область Код и кликнуть з Запись макроса. Кнопку Остановить запись вы найдете в этих же местах во время записи макроса.
Рис. 4. Меню ВИД –> Макросы –> Запись макроса
Личная книга макросов – это скрытая книга. В ней нет ничего особенного. Если вам интересно, вы можете отобразить её с помощью команды Отобразить на вкладке ВИД (рис. 5). Книга содержит один пустой лист. Полезное содержимое личной книги макросов обычно изучают в редакторе VBA.
Рис. 5. Вывод на экран скрытой личной книги макросов
Чтобы увидеть код, хранящийся в личной книге макросов, выполните следующее:
Нажмите Alt+F11 или выберите РАЗРАБОТЧИК –> Visual Basic. Если вы никогда ранее не использовали макросы, вы видите строку меню, панель инструментов, большую серую область.
Нажмите Ctrl+R или выберите View –> Project Explorer (Microsoft Visual Basic for Applications не русифицирован). Отобразится окно проектов – Project — VBAProject (рис. 6). В нем появится список всех открытых книг, а также книг с установленными на вашем ПК надстроек.
Рис. 6. Окно проектов в VBA
Книги представлены в виде структуры. Если ее раскрыть, можно найти листы и модули (там, где они имеются). Используйте знак «+» рядом с PERSONAL.XLSВ чтобы развернуть структуру. Нажмите на знак «+» рядом с Modules, чтобы увидеть список модулей. Если вы только что записали свой первый макрос, вы видите только Module1. Если вы запишите несколько макросов, Excel добавит новые модули, такие как, Module2, Module3, и так далее.
Чтобы увидеть код любого модуля, дважды щелкните на модуле в окне проектов. Также можно щелкнуть правой кнопкой мыши на модуль и выбрать команду View Code. Код отобразится в отдельном окне (рис. 7).
Рис. 7. Окно кода
Если вы хотите запустить макрос из этой книги, вы можете набрать или вставить его в любой существующий модуль в PERSONAL.XLSB. Обратите внимание, что после изменения кода в PERSONAL.XLSB при попытке закрыть Excel, появится запрос о том, хотите ли вы сохранить ваши изменения PERSONAL.XLSВ. Не забудьте сохранить, или ваш код будет утерян. Вы также можете, находясь в окне MS VBA (как на рис. 6), пройти по меню File –> Save PERSONAL.XLSВ или нажать Ctrl+S.
Резюме: создание личной книги макросов начните с записи какого-либо простейшего макроса. Указав при сохранении макроса — Личная книга макросов, вы добьетесь своей цели.