Microsoft Excel:

  Таблицы и VBA. Справочник.
  Вопросы и Ответы. Советы. Примеры.
Меню Заметки | Место хранения макросов


Rambler's Top100


Counter CO.KZ
Макросы могут храниться в рабочей книге MS Excel следующего формата (.xls, .xlt, xla)

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

Место хранения макросов MS Office 97, 2000 :
  • модуль
  • модуль класса
  • UserForm
  • модуль диаграммы прим. *
  • модуль листа прим. *
  • ThisWorkbook (ЭтаКнига)
    Место хранения макросов MS Office 95 :
  • модульный лист

    прим. * - программный модуль, который соответствует каждому об'екту.
    - существование программного модуля диаграммы возможно только при условии, что диаграмма расположена в отдельном листе диаграмм.

  • Найти макросы можно выбрав :
    меню Сервис пункт Макрос команду Макросы
    Этот способ будет работать только при соблюдении некоторых условий :
  • Макрос не должен начинаться с Private Sub, Function
  • Макрос не должен располагаться в файле надстройки
  • Макрос не должен располагаться в модуле класса

    Увидеть содержимое файла надстройки можно, если у об'екта ThisWorkbook (ЭтаКнига) установить свойство IsAddin = False

  • Более сложный способ состоит в том, чтобы найти "скрытые" макросы самостоятельно.
    Для этого нажмите ALT + F11 (редактор макросов)
    На экране слева Вы должны увидеть имя_проекта(имя_вашего_файла.xls), по умолчанию имя_проекта - VBAProject
    Если на экране ничего не видно, то выберите в меню Вид (View) команду Окно проекта (Project Explorer)
    Если Вы увидели UserForm (Form), Модуль (Modules) или Модуль класса (Class Modules), то это и есть место хранения макросов.
    Если ничего похожего Вы не нашли, то побродите по названиям (именам) листов, диаграмм или ThisWorkbook (ЭтаКнига)
    Для просмотра программного кода макросов можно дважды кликнуть мышкой по соответствующему компоненту VBA.

    Сообщение о наличии в рабочей книге макросов может выдаваться даже при фактическом отсутствии макросов.

    Это возможно по некоторым причинам :
  • Наличие в рабочей книге "пустых", т.е. не содержащих макросов UserForm, модуля или модуля класса.
  • Наличие в рабочей книге листа макросов
    При добавлении нового листа прим. ** появляется стандартное диалоговое окно с предложением вставить лист. Среди прочих имеется Макрос MS Excel 4.0, а также Междун. лист макросов
    Макрос MS Excel 4.0 - остался в наследство от MS Excel образца 95 г., и назывался модульный лист, именно в нём хранился программный текст макросов. При его добавлении в рабочую книгу он вызывает такое же сообщение о наличии макросов, как и любой модуль. Обнаружить его можно сравнив имена листов в рабочей книге и сопутствующие им имена программных модулей (редактор макросов) Этот "лист" не отображается в списке об‘ектов VBA.
    Междун. лист макросов - с ним такая же ситуация, вдобавок этот лист имеет свой заголовок "title" - [Международный]
    Не забудьте предварительно посмотреть их в скрытых листах и при необходимости отобразить
  • меню Формат пункт Лист команда Отобразить
    Увидеть подобные листы можно также использовав
  • меню Файл команда Свойства закладка Состав
    они все входят в состав Макросы Excel 4.0

    прим. ** - (выделение любого ярлычка, далее правую кнопку мышки, затем добавить)

    Автор : Климов Павел Юрьевич

    Если у Вас возникли трудности с поисками макросов, то Вы можете воспользоваться специальной программой
  • © 2004-2016 Климов П.Ю. Все права защищены. WebDesign & Error's Klimoff