Предположим, Вы скачали файл с данного сайта с примером макроса, открываете файл, но макросы в нем не работают! Как такое может быть? Неужели автор сайта выложил неработающий пример и не знает об этом? И тем более как может случиться такое, что Вы перенесли со своего ПК на другой ПК файл с рабочими макросами на флешке, запускаете, а он не работает... Почему? Вроде все правильно делаете, да ведь и у Вас работает на ПК. И начинает закрадываться мысль: "А чем же этот ПК и Excel на нем такие особенные?". А ответ может быть прост - перед выполнением макроса не было разрешено выполнение этих самых макросов. Да, в большинстве случаев по умолчанию выполнение макросов в Excel отключено. И их надо включить. Для этого:

  • Excel 2003:
    Сервис-Безопасность-Уровень макросов "Низкий"
  • Excel 2007:
    Кнопка Офис-Параметры Excel(Excel Options) -Центр управления безопасностью(Trust Centr) -Параметры центра управления безопасностью(Trust Centr Settings) -Параметры макросов(Macro Settings) -Разрешить все макросы(Enable All Macros)
  • Excel 2010-2016:
    Файл(File)-Параметры(Options) -Центр управления безопасностью(Trust Centr) -Параметры центра управления безопасностью(Trust Centr Settings) -Параметры макросов(Macro Settings) -Разрешить все макросы(Enable All Macros)
  • ВАЖНО! После изменения параметров безопасности макросов необходимо перезапустить приложение Excel: закрыть его полностью(т.е. закрыть все файлы Excel) и открыть заново. Только после этого изменения вступят в силу.

Если макросы уже включены, но некоторые макросы отказываются работать (как правило те, которые записаны в модулях листов и книг и запускаются при наступлении определенного события - Worksheet_SelectionChange (выделение ячеек), Worksheet_Change (изменение значений ячеек) и т.п.), то скорее всего когда-то вы выполнили какой-нибудь макрос и он отключил отслеживание событий. Тогда надо в любую активную книгу добавить модуль(переходим в редактор VBA(Alt+F11) -Insert -Module), вставить в него приведенный ниже код и запустить:

Sub Reset_Events()
    Application.EnableEvents = True
End Sub

чтобы запустить(выполнить) данный макрос макрос необходимо установить курсор в любое место между Sub и End Sub и нажать клавишу F5.

Так же см.:
Управление безопасностью макросов
Как запустить файл с включенными макросами?

5 комментариев

  1. Кто подскажет? Ситуация такая... Есть программа в которой делаю различные операции, а когда нажимаю кнопку Print, то должна запуститься Excel 2010 и все данные туда выкладываются ... Так вот что, на других компах все норм работает, а у меня жмешь и ничего (на 1сек знак загрузки моргнет и все). Excel не запускается вообще!!!! Макросы разрешены в безопасности. Что здесь может быть, куда необходимо нажимать...)) В Excel я как видите не силен...((

  2. Здравствуйте. На мак выдает #знач! и не работает. В настройках безопасности макросы включены. Office 19. Подскажите пожалуйста как исправить ситуацию. На windows все функционирует, но иногда требуется работать в файле на мак

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.