Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Личная книга макросов (создание, расположение)

    Создание, расположение, удаление и добавление Личной книги макросов (PERSONAL.XLSB), предназначенной в Excel для записи, хранения и вызова процедур.

    Личная книга макросов

    Личная (персональная) книга макросов – это скрытая служебная книга Excel с именем PERSONAL.XLSB, предназначенная для записи и хранения программного кода (функций и подпрограмм) и предоставления доступа к нему из всех открытых рабочих книг.

    Личная книга макросов автоматически открывается в фоновом режиме сразу после загрузки программы Excel и закрывается вместе с приложением, что обеспечивает постоянный доступ из других открытых книг к записанным в ней процедурам.

    Персональная книга макросов является скрытой, поэтому добавлять, удалять и изменять размещенные в ней процедуры можно только в редакторе VBA.

    Так же, как и в других рабочих книгах, в Личной книге макросов можно создавать программные модули, импортировать и экспортировать их, записывать в модули пользовательские процедуры (подпрограммы и функции) или копировать и вставлять их из модулей других книг.

    Подпрограммы, размещенные в Личной книге макросов, можно просмотреть в окне «Список макросов», открыв его из любой рабочей книги Excel. Они будут перечислены с приставкой «PERSONAL.XLSB!». Функции в этом окне не отображаются.

    Пользовательские функции, размещенные в Личной книге макросов, доступны для просмотра, выбора и вставки их в ячейки рабочего листа в Мастере функций:

    Список функций, определенных пользователем
    Список пользовательских функций в Личной книге макросов

    По умолчанию пользовательские функции расположены в категории «Определенные пользователем». Они выбираются и вставляются в ячейки рабочего листа с помощью Мастера функций так же, как и все остальные.

    Пользовательские функции, расположенные в обычной рабочей книге Excel, тоже будут доступны в Мастере функций, но для этого книга должна быть открыта.

    Вызов процедуры из Личной книги макросов осуществляется так же, как и запуск процедуры из любой другой рабочей книги.

    Создание

    Изначально Личная книга макросов в приложении Excel отсутствует. Чтобы проверить, есть ли она в вашей программе (не создал ли ее кто-то ранее), откройте любую рабочую книгу и перейдите в редактор VBA, нажав сочетание клавиш «Alt+F11» (в этом сочетании используется левая клавиша Alt). Открыть редактор VBA можно и пройдя по пунктам меню:

    Excel 2007-2016: «Разработчик» –> «Visual Basic» (смотрите, как отобразить вкладку «Разработчик», которая изначально скрыта);

    Excel 2000-2003: «Сервис» –> «Макрос» –> «Редактор Visual Basic».

    Откроется редактор VBA:

    Проводник в редакторе VBA Excel
    Проводник в редакторе VBA

    Если в проводнике сверху вы видите строку «VBAProject (PERSONAL.XLSB)», значит Личная книга макросов на вашем компьютере уже есть.

    Если же ее нет, необходимо записать какой-нибудь простенький макрос, выбрав при его создании Сохранить в: Личная книга макросов.

     Сохранение макроса в Личной книге макросов
    Сохранение макроса в Личной книге макросов

    После записи макроса, сохраненного в Личную книгу макросов, эта книга будет создана и появится в проводнике редактора VBA.

    Расположение

    Место расположения Личной книги макросов на конкретном компьютере, по словам разработчиков, зависит только от версии операционной системы. О его зависимости от версии Excel в их статье ничего не сказано.

    В любом случае, книга PERSONAL.XLSB находится в папке XLSTART, которую можно разыскать с помощью поиска в проводнике:

    Результаты поиска папки XLSTART в проводнике
    Результаты поиска папки XLSTART в проводнике
    Личная книга макросов в папке XLSTART
    Личная книга макросов в папке XLSTART

    Удаление

    Если вы хотите удалить Личную книгу макросов из своего приложения Excel, найдите с помощью поиска в проводнике папку XLSTART и удалите из нее файл PERSONAL.XLSB.

    В принципе, наличие неиспользуемой Персональной книги макросов ничем не мешает. Но если не вы ее создавали и вас беспокоит наличие в ней чужого кода, можете удалить из нее в редакторе VBA все стандартные модули и очистить от процедур модули книги (по умолчанию «ЭтаКнига») и листа (по умолчанию «Лист1»).

    Добавление

    Как видно из комментариев к этой статье, у некоторых пользователей приложения Excel при создании макроса в выпадающем списке «Сохранить в» отсутствует пункт «Личная книга макросов».

    В этом случае можно попытаться найти с помощью поиска в проводнике папку XLSTART и, если она будет найдена, вставить в нее пустой файл PERSONAL.XLSB. В данном случае «пустой» означает «без пользовательских процедур (макросов)».

    Скачать архив с пустым файлом PERSONAL.XLSB (создан в Excel 2016).

    После добавления файла PERSONAL.XLSB в папку XLSTART и перезагрузки приложения Excel, Личная книга макросов появится в проводнике редактора VBA. Перезагрузка Excel заключается в закрытии всех открытых рабочих книг и последующем открытии любого файла этой программы.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    5 комментариев для “VBA Excel. Личная книга макросов (создание, расположение)”

    1. Здравствуйте!
      А как создать личную книгу макросов если у меня нет в выпадающем меню «Сохранить в» пункта с названием «Личная книга макросов»?

      1. Евгений

        Привет, Pavel!
        У меня такого ни разу не было в четырех версиях программы (2000, 2003, 2010, 2016). Этот же способ добавления личной книги макросов рекомендует и разработчик. Возможно, у вас какие-то неполадки с Excel.

      2. Нужно ленту настроить и добавить вкладку «Разработчик», там будет.

    2. Анастасия

      Все верно. У меня тоже нет пункта — личная книга макросов. Эксель лицензионный. 2016

      1. Александр

        Пункт есть, если выбирать до записи макроса, а не после.

    Обсуждение закрыто.