Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.
Причины
Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:
- Функция отключена.
- Отключение отслеживания событий.
- Устаревшая операционная система.
- Несоответствие разработчика пакета офисных приложений.
- Устаревшая версия Майкрософт Офис.
- Неактивированная версия Excel.
- Заблокированный файл.
- Неправильные настройки безопасности.
- Отсутствие необходимой библиотеки и т. д.
Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.
Что делать
Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.
Включите опцию
Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.
Если не работают макросы в Excel 2003, сделайте следующие шаги:
- Войдите в «Сервис».
- Перейдите в раздел «Безопасность».
- Кликните «Уровень макросов «Низкий».
В случае, когда не работают макросы в Excel 2007, включите их следующим образом:
- Жмите на кнопку «Офис».
- Войдите в параметры Excel.
- Кликните на «Центр управления безопасности».
- Войдите в «Параметры центра управления безопасностью».
- Жмите на «Параметры макросов».
- Кликните на «Разрешить все …».
В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:
- Войдите в раздел «Файл».
- Кликните на кнопку «Параметры».
- Зайдите в «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры …».
- Жмите на «Разрешить все …».
После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.
Добавьте нужный модуль в книгу
Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:
- Перейдите в редактор VBA с помощью клавиш Alt+F11.
- Вставьте указанный ниже код.
Sub Reset_Events()
Application.EnableEvents = True
End Sub
- Для выполнения кода поставьте курсор в любой точке между началом и концом.
- Кликните F5.
Проверьте операционную систему
В ситуации, когда не отображаются макросы в Excel, обратите внимание на тип операционной системы. К примеру, Майкрософт Офис, который подходит для Виндовс, на Мак ОС уже работать не будет. Причина в том, что в приложении используются разные библиотеки. Даже если надстройки и функционируют, могут быть сбои в работе. Вот почему при появлении проблем нужно проверить ОС на соответствие.
Обратите внимание на разработчика
Если в Экселе не работают макросы, причиной может быть другой разработчик. Так, пользователи Excel часто применяют OpenOffice или LibreOffice. Эти пакеты созданы на разных языках программирования, которые имеют индивидуальные особенности. Так, если надстройки написаны на Visual Basic for Application, он может не работать в указанных выше офисных приложениях. Вот почему необходимо уточнять, для какого пакета создан макрос / надстройка.
Проверьте версию Майкрософт Офис
В Макрософт Офис 2003 применяются надстройки xla для Excel. В современных версиях расширение поменялось на xlam. Если ставить макросы старого типа в приложения Офис 2007 и больше, никаких трудностей не происходит. Если же вы попытаетесь поставить новую надстройку на старую версию Excel, она зачастую не работает. Вот почему важно обратить внимание на этот параметр при выборе.
Убедитесь в наличии пакета VBA
Одной из причин, почему не запускается макрос в Excel, может быть отсутствие пакета VBA. Для успешного запуска надстройки необходимо, чтобы этот пакет был установлен. Иногда он уже установлен в Офис, но так происходит не всегда. Для проверки жмите комбинацию на Alt+F11. Если после этого появляется Visual Basic, компонент можно считать установленным. В ином случае его нужно поставить. Для этого:
- Зайдите в «Пуск», а далее «Панель управления / Программы и компоненты».
- Выберите программу Майкрософт Офис.
- Жмите на кнопку «Изменить».
- Запустить файл установки Setup.exe.
- Кликните на «Добавить или удалить компоненты».
- Выберите в списке Visual Basic и установите его.
Активируйте Офис
Если в Excel 2007 не работает кнопка «макросы», причиной может быть отсутствие активации приложения. Для этого жмите на кнопку «Активировать» и следуйте инструкции. В большинстве случаев такая опция является платной.
Снимите блокировку файла
Учтите, что документ, полученный с другого ПК / ноутбука, может заблокироваться. Для разблокировки файла нужно нажать ПКМ и в разделе «Общие» кликнуть на «Разблокировать».
Проверьте библиотеки
В случае, когда параметры макросов не активны в Excel, причиной может быть появление ошибки «Can’t find project or library». При этом, надстройка работает на другом ПК / ноутбуке, а здесь возникают проблемы. Ошибку легко устранить, если в окне, которое идет за сообщением об ошибке, снять отметки в полях Missing. Для вызова окна можно выбрать пункт меню Tools / References.
Проверьте настройки безопасности
В ситуации, когда не работают макросы в Excel, можно добавить надежные расположения или настроить доступ к объектной модели VBA. Для этого в Офис 2007 необходимо сделать следующее:
- Войдите в Меню
- Кликните на пункт «Параметры».
- Жмите на «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».
Зная, почему не работают макросы в Excel, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Отличного Вам дня!
AVRTGC Пользователь Сообщений: 10 |
При выполнении макроса в EXCEL2013,2010 появляется надпись Excel (Не отвечает), хотя макрос выполняется. На Esc не реагирует. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
При чем здесь косяк Excel, если сами напрограммировали такой макрос? Уверен, в коде используется цикл, который и «подвешивает» Excel, делая его неотзывчивым на внешние команды(т.к. он занят выполнением кода). И вполне логично, что при этом ОС ставит ему статут «Не отвечает», т.к. это действительно так. По сути это не является каким-то косяком Excel или ОС. Код выполняется, Excel при этом занят. Делать в нем все равно ничего нельзя. Значит и трогать его смысла нет. Поэтому не понятны причины Ваших волнений. После выполнения кода ведь все нормально становится. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
AVRTGC Пользователь Сообщений: 10 |
Вы просто отписались, похоже темой не владеете… |
vikttur Пользователь Сообщений: 47199 |
#4 21.12.2014 15:06:17
Вы проверили догадки, посмотрели код? |
||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#5 21.12.2014 17:46:54
Вам виднее, Вы-то я смотрю вообще в теме конкретно. Только зачем тогда вопросы задавать, если ответы неинтересны? Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Watcher_1 Пользователь Сообщений: 155 Мои координаты в профиле |
1) Без просмотра кода действительно сложно что-то сказать. |
AVRTGC Пользователь Сообщений: 10 |
Я сообщил о конкретной проблеме, эта программа может работать по несколько дней в 2007 версии (генерация и обработка множества случайных событий) и не разу такого не было. Вчера 20.12.14 купил 2013 версию и возникли эти проблемы. На работе 2010 и такая же хрень. |
KUDRIN Пользователь Сообщений: 324 |
|
andreyvr Пользователь Сообщений: 10 |
#9 21.12.2014 19:58:52
Дело не в цикле |
||
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
#10 21.12.2014 20:03:32
Уверены? Я еще в первом сообщении не видя кода указал на причину именно в циклах и том, как они были написаны. Как раз такие циклы подвешивают программу, делая её неотзывчивой на запросы. Это было всегда. Вы прежде чем делать выводы кто чем владеет и тем более их высказывать сами начните владеть темой. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
andreyvr Пользователь Сообщений: 10 |
|
andreyvr Пользователь Сообщений: 10 |
DoEvents работает, но реагирует на нажатие кнопок мыши т. е. начинает печатать там где отметилась мышь. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Чего Вы хотите снять? Проблема и так ясна и единственное, как можно помочь — DoEvents. А главный вопрос я уже задал: чем это мешает вообще? Все равно не рекомендуется работать с Excel, пока там выполняется некая обработка данных. Если Вы хотите понимать, что код именно работает, а не висит — сделайте прогресс-бар, который будет отображать прогресс выполнения операций в циклах. И все. Примеры можно найти через поиск, их было много. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
andreyvr Пользователь Сообщений: 10 |
Работа макроса в 2003 версии https://yadi.sk/i/Tv6p8yqHdX7xx Работа макроса в 2013 версии https://yadi.sk/i/xg87ufj4dX85C Видно, что при работе программы в 2003 версии она не зависает, её работу можно остановить и т.д. |
andreyvr Пользователь Сообщений: 10 |
Отвечаю на вопрос. Когда работает макрос я не работаю с таблицами, но и остановить работу макроса я не могу, а это иногда требуется для сохранения данных. |
The_Prist Пользователь Сообщений: 14181 Профессиональная разработка приложений для MS Office |
Тогда пишите напрямую в Microsoft. Мы здесь больше ничем не поможем. Все что можно было уже посоветовали. P.S. Оба ролика показывают работу в 2013 Excel. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
andreyvr Пользователь Сообщений: 10 |
Спасибо! |
ZVI Пользователь Сообщений: 4328 |
#18 22.12.2014 04:26:39 1. Возможно, книга была сохранена после Application.EnableCancelKey = xlDisabled 2. Попробуйте использовать Application.EnableCancelKey = xlErrorHandler
Чтобы исключить состояние «не отвечает», можно в цикле изредка выполнять DoEvents, например так: 3. В качестве более надежной альтернативы останова можно зажать Alt+Esc до тех пор, пока код не приостановится. Изменено: ZVI — 22.12.2014 04:52:44 |
||
Игорь Пользователь Сообщений: 3631 |
Владимир ( ZVI ), спасибо за развернутый ответ |
ZVI Пользователь Сообщений: 4328 |
#20 22.12.2014 11:36:29
Добрый день, Игорь! Изменено: ZVI — 22.12.2014 11:36:39 |
||
Хитрости »
1 Май 2011 131634 просмотров
Почему не работает макрос?
Предположим, Вы скачали файл с данного сайта с примером макроса, открываете файл, но макросы в нем не работают! Как такое может быть? Неужели автор сайта выложил неработающий пример и не знает об этом? И тем более как может случиться такое, что Вы перенесли со своего ПК на другой ПК файл с рабочими макросами на флешке, запускаете, а он не работает… Почему? Вроде все правильно делаете, да ведь и у Вас работает на ПК. И начинает закрадываться мысль: «А чем же этот ПК и 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.
Так же см.:
Управление безопасностью макросов
Как запустить файл с включенными макросами?
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
- Remove From My Forums
-
Вопрос
-
Сегодня прилетела куча обновлений MS Office (2007, 2010, 2013) после их установки перестали работать макросы в книгах Exel — кнопка макроса «не нажимается». При открытии файла никаких уведомлений о заблокированном
содержимом нет.Даже если принудительно в настройках безопасности разрешить все макросы — ничего не происходит, кнопки макросов по прежнему не нажимаются, никаких уведомлений о заблокированном содержимом нет. Где копать?
ps: обновления датированы 9 декабря 2014
-
Изменено
11 декабря 2014 г. 8:19
-
Изменено
Ответы
-
Здравствуйте,
Посмотрите английскую ветку обсуждения данного вопроса, там несколько временных решений
Excel 2010 macros does not work after updates 9.Dec.2014
Станислав: Для Office 2013 — KB2726958
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется как есть, без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если
они Вам помогли.-
Изменено
Elina Lebedeva
12 декабря 2014 г. 13:09 -
Предложено в качестве ответа
Nutslyc
12 декабря 2014 г. 14:15 -
Помечено в качестве ответа
ЖукMVP, Moderator
12 декабря 2014 г. 15:00
-
Изменено
-
Столкнулся с той же самой проблемой. Нашел решение — может кому пригодится:
1. Меняем все кнопки ActiveX на кнопки из группы «Элементы управления формы»
2. Меняем в коде функции, которые висели на кнопках, с Private на Public
3. Переходим в режим конструктора, правой кнопкой по добавленной кнопке элемента управления формы -> назначить макрос
4. Далее радуемся жизни и работающему коду.
P.S. у меня отвалился весь функционал на нескольких проектах. Наши админы были очень рады, когда им пришлось сносить обновления на всех машинах.
P.P.S. Решение протестировал на 2-х машинах — все заработало без проблем. Хотел пост с картинками, но не дает вставлять картинки)
-
Изменено
Nutslyc
12 декабря 2014 г. 7:43 -
Предложено в качестве ответа
ILYA [ sie ] SazonovModerator
12 декабря 2014 г. 11:01 -
Помечено в качестве ответа
ЖукMVP, Moderator
12 декабря 2014 г. 15:00
-
Изменено
Excel для Microsoft 365 Word для Microsoft 365 Outlook для Microsoft 365 PowerPoint для Microsoft 365 Access для Microsoft 365 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Access 2021 Visio профессиональный 2021 Visio стандартный 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Access 2019 Visio профессиональный 2019 Visio стандартный 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Access 2016 Visio профессиональный 2016 Visio стандартный 2016 Excel 2013 Word 2013 Outlook 2013 PowerPoint 2013 Access 2013 Visio профессиональный 2013 Visio 2013 Excel 2010 Word 2010 Outlook 2010 PowerPoint 2010 Access 2010 Visio премиум 2010 Visio 2010 Visio стандартный 2010 Excel Starter 2010 Еще…Меньше
Макрос — это ряд команд, используемых для автоматизации повторяемой задачи, который может выполняться при выполнении задачи. Макросы позволяют автоматизировать часто используемые задачи, чтобы сэкономить время на нажатии клавиш и действий мыши.
Однако некоторые макросы могут представлять угрозу безопасности. Макросы часто используются злоумышленниками для тихой установки вредоносных программ, таких как вирус, на компьютере или в сети организации.
Предупреждение: Никогда не включайте макросы в файле Microsoft 365, если вы не знаете, что делают эти макросы. Непредвиденные макросы могут представлять значительную угрозу безопасности. Для просмотра или изменения файла не нужно включать макросы; только в том случае, если вам нужны функциональные возможности, предоставляемые макросом. Дополнительные сведения см. в статье Защита от макровирусов.
Изменение параметров макросов в центре управления безопасностью
Параметры макросов доступны в центре управления безопасностью. Однако если устройство управляется вашей работой или учебным заведением, системный администратор может запретить кому-либо изменять параметры.
Важно: При изменении параметров макросов в центре управления безопасностью они изменяются только для программы Microsoft 365, которую вы сейчас используете. Параметры макросов не изменяются для всех программ Microsoft 365.
-
Откройте вкладку Файл.
-
Нажмите кнопку Параметры.
-
Затем выберите пункты Центр управления безопасностью и Параметры центра управления безопасностью.
-
В центре управления безопасностью щелкните элемент Параметры макросов.
-
Выберите нужный вариант, а затем нажмите кнопку ОК.
Примечание: Варианты немного отличаются в Excel, мы будем называть их, как мы идем.
-
Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.
В Excel этот параметр — Отключить макросы VBA без уведомления и применяется только к макросам VBA.
-
Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при необходимости. Так вы можете включать макросы, когда это требуется.
В Excel этот параметр — Отключить макросы VBA с уведомлением , и он применяется только к макросам VBA.
-
Отключить все макросы кроме макросов с цифровой подписью Макросы отключены, а при наличии неподписанных макросов отображаются оповещения системы безопасности. Однако если макрос имеет цифровую подпись доверенного издателя, макрос просто выполняется. Если макрос подписан издателем, которому вы еще не доверяли, вы получите возможность включить подписанный макрос и доверять издателю.
В Excel этот параметр — Отключить макросы VBA, кроме макросов с цифровой подписью , и он применяется только к макросам VBA.
-
Включить все макросы (не рекомендуется, может выполняться потенциально опасный код) Все макросы выполняются без подтверждения. Этот параметр делает компьютер уязвимым для вредоносного кода.
В Excel этот параметр — Включить макросы VBA (не рекомендуется, может выполняться потенциально опасный код) и применяется только к макросам VBA.
-
Excel также установлен флажок Включить макросыExcel 4.0 при включении макросов VBA. Если установить этот флажок, все приведенные выше параметры для макросов VBA также будут применяться к макросам Excel 4.0 (XLM).
Если этот флажок не установлен, макросы XLM отключены без уведомления.
-
Доверять доступ к объектной модели проектов VBA Запретить или разрешить программный доступ к объектной модели Visual Basic для приложений (VBA) из клиента автоматизации. Этот параметр безопасности предназначен для кода, написанного для автоматизации программы Microsoft 365 и управления средой VBA и объектной моделью. Это параметр для отдельных пользователей и приложений, который по умолчанию запрещает доступ, препятствуя созданию несанкционированных программ вредоносных самореплицируемых кодов. Чтобы клиенты автоматизации получили доступ к объектной модели VBA, пользователь, выполняя код, должен предоставить доступ. Чтобы включить доступ, выберите поле проверка.
Примечание: В Microsoft Publisher и Microsoft Access параметр Доверять доступ к объектной модели проектов VBA отсутствует.
Сведения о создании макросов см. в статье Краткое руководство. Создание макроса.
Сведения об использовании макросов на компьютере под управлением Windows S см. в статье Блокировка подозрительных макросов в Office на Windows 10 S.
См. также
Изменение параметров безопасности макросов в Excel
Как вредоносная программа может заразить компьютер