Не работают макросы в 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, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Отличного Вам дня!
Содержание
- Почему не работает макрос?
- Не работают макросы в Excel: кто виноват и что делать?
- Причины
- Что делать
- Включите опцию
- Добавьте нужный модуль в книгу
- Проверьте операционную систему
- Обратите внимание на разработчика
- Проверьте версию Майкрософт Офис
- Убедитесь в наличии пакета VBA
- Активируйте Офис
- Снимите блокировку файла
- Проверьте библиотеки
- Проверьте настройки безопасности
- Excel не работает кнопка макрос
- Вопрос
- Ответы
- Excel не работает кнопка макрос
- Excel не работает кнопка макрос
- Вопрос:
- Комментарии:
- Ответ №1:
- Комментарии:
- Ответ №2:
- Комментарии:
- Ответ №3:
- Комментарии:
- Ответ №4:
- Комментарии:
Почему не работает макрос?
Предположим, Вы скачали файл с данного сайта с примером макроса, открываете файл, но макросы в нем не работают! Как такое может быть? Неужели автор сайта выложил неработающий пример и не знает об этом? И тем более как может случиться такое, что Вы перенесли со своего ПК на другой ПК файл с рабочими макросами на флешке, запускаете, а он не работает. Почему? Вроде все правильно делаете, да ведь и у Вас работает на ПК. И начинает закрадываться мысль: «А чем же этот ПК и 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 .
Статья помогла? Поделись ссылкой с друзьями!
Источник
Не работают макросы в Excel: кто виноват и что делать?
Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.
Причины
Для начала стоит разобраться, почему не работает макрос в Excel, ведь от этого зависят дальнейшие шаги. К основным причинам стоит отнести:
- Функция отключена.
- Отключение отслеживания событий.
- Устаревшая операционная система.
- Несоответствие разработчика пакета офисных приложений.
- Устаревшая версия Майкрософт Офис.
- Неактивированная версия Excel.
- Заблокированный файл.
- Неправильные настройки безопасности.
- Отсутствие необходимой библиотеки и т. д.
Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.
Что делать
Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.
Включите опцию
Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.
Если не работают макросы в Excel 2003, сделайте следующие шаги:
- Войдите в «Сервис».
- Перейдите в раздел «Безопасность».
- Кликните «Уровень макросов «Низкий».
В случае, когда не работают макросы в Excel 2007, включите их следующим образом:
- Жмите на кнопку «Офис».
- Войдите в параметры Excel.
- Кликните на «Центр управления безопасности».
- Войдите в «Параметры центра управления безопасностью».
- Жмите на «Параметры макросов».
- Кликните на «Разрешить все …».
В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:
- Войдите в раздел «Файл».
- Кликните на кнопку «Параметры».
- Зайдите в «Центр управления безопасностью».
- Войдите в «Параметры центра управления безопасностью».
- Кликните на «Параметры …».
- Жмите на «Разрешить все …».
После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.
Добавьте нужный модуль в книгу
Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:
- Перейдите в редактор VBA с помощью клавиш Alt+F11.
- Вставьте указанный ниже код.
- Для выполнения кода поставьте курсор в любой точке между началом и концом.
- Кликните 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, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Источник
Excel не работает кнопка макрос
Вопрос
Сегодня прилетела куча обновлений MS Office (2007, 2010, 2013) после их установки перестали работать макросы в книгах Exel — кнопка макроса «не нажимается». При открытии файла никаких уведомлений о заблокированном содержимом нет.
Даже если принудительно в настройках безопасности разрешить все макросы — ничего не происходит, кнопки макросов по прежнему не нажимаются, никаких уведомлений о заблокированном содержимом нет. Где копать?
ps: обновления датированы 9 декабря 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. Далее радуемся жизни и работающему коду.
Источник
Excel не работает кнопка макрос
У Вас очень много запускается надстроек и книг.
Отключите все надстройки и персональную книгу тоже. Закройте-откройте программу. И попробуйте.
Потом подключайте по одной надстройке и каждый раз пробуйте. Таким образом можно будет найти где баг.
Каждый раз закрывая и открывая польностью Excel.
Ну потом либо код править, либо отключать, либо все вернется
Не все макросы под 32бита работают в в 64.
У Вас очень много запускается надстроек и книг.
Отключите все надстройки и персональную книгу тоже. Закройте-откройте программу. И попробуйте.
Потом подключайте по одной надстройке и каждый раз пробуйте. Таким образом можно будет найти где баг.
Каждый раз закрывая и открывая польностью Excel.
Ну потом либо код править, либо отключать, либо все вернется
Не все макросы под 32бита работают в в 64. SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение У Вас очень много запускается надстроек и книг.
Отключите все надстройки и персональную книгу тоже. Закройте-откройте программу. И попробуйте.
Потом подключайте по одной надстройке и каждый раз пробуйте. Таким образом можно будет найти где баг.
Каждый раз закрывая и открывая польностью Excel.
Ну потом либо код править, либо отключать, либо все вернется
Не все макросы под 32бита работают в в 64. Автор — SLAVICK
Дата добавления — 29.12.2015 в 17:02
Источник
Excel не работает кнопка макрос
#excel #vba #button
#превосходить #vba #кнопка
Вопрос:
Макросы в моей электронной таблице, которые работали в течение многих лет, перестали работать с помощью кнопок, хотя они по-прежнему отлично работают в окне разработчика VBA. Я использую обычную форму (прямоугольник) в качестве кнопки и назначил ей макрос (выбрав из «Этой рабочей книги»).
Чтобы избежать предложенных исправлений, которые я видел в других подобных сообщениях…
- Это все еще файл .xlsm
- Макросы по-прежнему включены.
- Он работает на том же ноутбуке, что и раньше (Windows 10, Office 365).
- В последнее время никаких обновлений Windows не происходило.
- У меня открыт только один файл.
- Я попытался перезагрузить ноутбук и перезапустить Excel.
- Я не использую элемент управления Active-X.
- Я попробовал это с помощью кнопки управления формой и кнопки обычной формы — ни то, ни другое не работает.
- Это не связано с фактическим кодом VBA (см. Доказательство ниже).
Я создал новую программу, чтобы показать, что проблема не в самом коде:
Эта программа работает с помощью зеленой кнопки воспроизведения на экране VBA, но не с помощью назначенной кнопки на листе. Любая идея будет очень признательна! ———— Дополнительная Информация ————- Код находится в обычном модуле кода VBA (а не в области «Эта рабочая книга» на экране VBA). Макрос назначается щелчком правой кнопки мыши по форме, и список доступных макросов-это только те, которые указаны в «Этой книге» во всплывающем окне Назначить макрос. Скриншот ниже… 
Комментарии:
1. Чтобы уточнить, код находится в обычном модуле VBA, а не в разделе «Эта рабочая книга».
2. Скриншоты добавлены в исходный пост. В этом модуле рабочей книги нет кода
3. Решено — оказалось, что мне нужно было установить флажок «Включить макросы Excel 4.0». По-видимому, Microsoft только что начала отключать это по умолчанию в Office 365, начиная с этого месяца! Я опубликовал ответ в качестве резолюции.
Ответ №1:
Вы не можете вызвать код из ThisWorkbook события кнопки.
Мне нравится помещать события кнопок в код за листом, где находится кнопка. Таким образом, код перемещается вместе с листом, куда бы этот лист ни был скопирован.
Используйте кнопку формы. Щелкните правой кнопкой мыши на кнопке формы и выберите Assign Macro. . Затем выберите подпрограмму VBA из появившегося списка. Будут работать только процедуры, видимые в этом всплывающем окне.
ПРИМЕЧАНИЕ: Никогда не используйте _ какие-либо имена в VBA. Он зарезервирован для обработки событий.
Код на листе:
Назначить Макрос:
Нажатие кнопки:
Комментарии:
1. Извините, я должен был выразиться яснее. Код находится в обычном модуле кода VBA, а не в разделе «Эта рабочая книга». Я имел в виду, что назначил макрос кнопке из «ThisWorkbook» во всплывающем окне назначения.
2. Приятно знать, что я не должен включать _ в имена VBA. Я этого не знал. В любом случае я удалил _ и у меня та же проблема
3. @epe Пожалуйста, отредактируйте свой вопрос, чтобы включить скриншот того, где находится ваш код, и скриншот привязки кнопки. Они управляются графическим интерфейсом, а не самим кодом.
Ответ №2:
Часто эта проблема может возникнуть из-за нескольких экранов или проблем с различием разрешения. Если вы используете ноутбук, подключенный к экранам, попробуйте использовать кнопку на ноутбуке, когда он отключен от ваших мониторов. Если это устранит проблему, убедитесь, что у вас одинаковое разрешение и/или масштабирование между двумя настройками.
Если это изменение произошло недавно и отображается на экране настольного компьютера или ноутбука без дополнительных мониторов, убедитесь, что масштабирование установлено на 100% в случае, если оно недавно изменилось.
Комментарии:
1. Хорошая мысль. В моем случае это просто ноутбук без дополнительного экрана. Масштабирование составляет 250%, как стандартная рекомендуемая настройка. 100% — это крошечный шрифт на экране 4k.
Ответ №3:
Решено — оказалось, что мне нужно было установить флажок «Включить макросы Excel 4.0». По-видимому, Microsoft только что начала отключать это по умолчанию в Office 365, начиная с этого месяца!
Так и в Excel… Файлgt;gt;gt;Параметрыgt;gt;gt;gt;gt;gt;gt; gt; Центр управления безопасностьюgt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;Настройки Центра управления безопасностьюgt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;Настройки макросов
Комментарии:
1. Вам не следует использовать макросы Excel 4.0. Они сильно отличаются от VBA. Они также неуверенны в себе. Эту опцию необходимо всегда отключать. Используйте только VBA. Решение, которое я предоставил, является решением VBA, которое не требует этой небезопасной настройки.
2. Соглашаться. Насколько мне известно, я не думаю, что использую макросы Excel 4.0. Я даже не знаю, что это такое. У меня просто обычный VBA, и я следую всем вашим предложениям в вашем посте. Все, что я знаю, это то, что когда я включаю Excel 4.0, кнопки снова запускают мой код VBA. И когда я отключаю его, кнопки перестают работать. (Кстати, как я могу определить, есть ли у меня какой-либо макрокод Excel 4.0?)
3. Ты бы знал. Это код, записанный в ячейки, как формула. Он вообще не использует окно VBA.
4. Хорошо — спасибо. Тогда я не использую макросы Excel 4.0. Понятия не имею, почему я должен включать его, чтобы мои кнопки работали, но такова жизнь
5. Я тоже это проверю: мои кнопки и флажки также продолжают отключаться от своих макросов (кнопки в строке пользовательского меню продолжают запускать те же макросы без проблем).
Ответ №4:
Что-то, что нужно попробовать: Убедитесь, что ваши фигуры «вызывающего абонента» имеют уникальные имена
Примечание: Возможно иметь несколько фигур с одинаковым именем и (по какой-либо причине), которые могут запутать соединение формы excel с макросом.
Дополнительная информация 1.
Если вы используете объект «сгруппированные фигуры» в качестве элемента управления, вы должны присвоить одно и то же имя всем фигурам в группе.
Дополнительная информация 2:
Первоначальным симптомом операции было просто «Макросы … перестали работать с помощью кнопок». С тех пор операция была обновлена и показывает сообщение об ошибке. Описанное здесь отключение из-за неуникального именования не вызывает сообщения об ошибке. Скорее всего, симптомы могут быть следующими: а) макрос вообще не запускается или б) объект «вызывающий» в вызываемом макросе недействителен.
Комментарии:
1. Хорошая идея. Я запустил программу для поиска двойников, нашел пару и переименовал их, но не исправил проблему
Источник
|
Добрый день! Первый раз на форуме и новичок в макросах. Сделала несколько макросов (нашла в инете), привязала их к кнопкам. Все работало, пока мне не поставили задачу на работе эти кнопки сделать красивее. Начала экспериментировать с трехмерными моделями на другом файле. Сегодня открываю свой файл с макросами и ни одна кнопка не работает, хотя через VBA все запускается без проблем |
|
|
New Пользователь Сообщений: 4581 |
А в чём проблема переопределить кнопки — удалить старые кнопки и создать новые, и привяжите к ним свои макросы Изменено: New — 28.06.2022 18:17:28 |
|
RAN Пользователь Сообщений: 7091 |
Попробуйте привязать хвост к собаке. Т.е. вашу новую красивую кнопку к старому макросу. |
|
New Пользователь Сообщений: 4581 |
предлагаете нам гадать? Ну, возможно где-то идут бури, поэтому у вас что-то не работает. Нам нужен ваш файл. Все данные можете удалить из него Изменено: New — 28.06.2022 18:23:10 |
|
RAN Пользователь Сообщений: 7091 |
#6 28.06.2022 18:25:32
До тех пор, пока ваш ответ будет звучать так, шанс на получение внятного ответа стремится к 0 Изменено: RAN — 28.06.2022 18:26:03 |
||
|
только размер пишет не должен превышать 100кб, а в моем 10 мб((( есть какое то решение? |
|
|
New Пользователь Сообщений: 4581 |
А зачем нам ваш рабочий файл? Удалите из него все данные, оставьте только кнопку и ваш макрос. Мы скачаем, разберёмся почему у вас не работает и выложим либо рабочий файл, либо объясним что у вас не так и как исправить. |
|
ну извините, что туплю, просто у меня после удаления всех листов все равно 1,7мб |
|
|
New Пользователь Сообщений: 4581 |
тааак, а где макросы? Вы знаете, что в файлах XLSX — НЕ могут быть сохранены никакие макросы? Изменено: New — 28.06.2022 19:15:56 |
|
блиииин, сейчас, только увидела |
|
|
когда я закрыла свой экспериментальный) кривой файл с красивыми кнопками все заработало на других файлах, не знаете все таки, что это могло быть чисто теоретически, глюк? И еще, чтобы задать вопрос про визуализацию кнопок мне надо новую тему создавать? |
|
|
New Пользователь Сообщений: 4581 |
|
|
Елена Александрова Пользователь Сообщений: 30 |
#16 28.06.2022 19:27:26 спасибо большое и извините за потраченное время |
#excel #vba #button
#превосходить #vba #кнопка
Вопрос:
Макросы в моей электронной таблице, которые работали в течение многих лет, перестали работать с помощью кнопок, хотя они по-прежнему отлично работают в окне разработчика VBA. Я использую обычную форму (прямоугольник) в качестве кнопки и назначил ей макрос (выбрав из «Этой рабочей книги»).
Чтобы избежать предложенных исправлений, которые я видел в других подобных сообщениях…
- Это все еще файл .xlsm
- Макросы по-прежнему включены.
- Он работает на том же ноутбуке, что и раньше (Windows 10, Office 365).
- В последнее время никаких обновлений Windows не происходило.
- У меня открыт только один файл.
- Я попытался перезагрузить ноутбук и перезапустить Excel.
- Я не использую элемент управления Active-X.
- Я попробовал это с помощью кнопки управления формой и кнопки обычной формы — ни то, ни другое не работает.
- Это не связано с фактическим кодом VBA (см. Доказательство ниже).
Я создал новую программу, чтобы показать, что проблема не в самом коде:
Sub button_not_working() MsgBox "button_not_working" End Sub
Эта программа работает с помощью зеленой кнопки воспроизведения на экране VBA, но не с помощью назначенной кнопки на листе. Любая идея будет очень признательна! ———— Дополнительная Информация ————- Код находится в обычном модуле кода VBA (а не в области «Эта рабочая книга» на экране VBA). Макрос назначается щелчком правой кнопки мыши по форме, и список доступных макросов-это только те, которые указаны в «Этой книге» во всплывающем окне Назначить макрос. Скриншот ниже… 
Комментарии:
1. Чтобы уточнить, код находится в обычном модуле VBA, а не в разделе «Эта рабочая книга».
2. Скриншоты добавлены в исходный пост. В этом модуле рабочей книги нет кода
3. Решено — оказалось, что мне нужно было установить флажок «Включить макросы Excel 4.0». По-видимому, Microsoft только что начала отключать это по умолчанию в Office 365, начиная с этого месяца! Я опубликовал ответ в качестве резолюции.
Ответ №1:
Вы не можете вызвать код из ThisWorkbook события кнопки.
Мне нравится помещать события кнопок в код за листом, где находится кнопка. Таким образом, код перемещается вместе с листом, куда бы этот лист ни был скопирован.
Используйте кнопку формы. Щелкните правой кнопкой мыши на кнопке формы и выберите Assign Macro... . Затем выберите подпрограмму VBA из появившегося списка. Будут работать только процедуры, видимые в этом всплывающем окне.
ПРИМЕЧАНИЕ: Никогда не используйте _ какие-либо имена в VBA. Он зарезервирован для обработки событий.
Public Sub ButtonIsWorking() MsgBox "button is working" End Sub
Код на листе:
Назначить Макрос:
Нажатие кнопки:
Комментарии:
1. Извините, я должен был выразиться яснее. Код находится в обычном модуле кода VBA, а не в разделе «Эта рабочая книга». Я имел в виду, что назначил макрос кнопке из «ThisWorkbook» во всплывающем окне назначения.
2. Приятно знать, что я не должен включать _ в имена VBA. Я этого не знал. В любом случае я удалил _ и у меня та же проблема
3. @epe Пожалуйста, отредактируйте свой вопрос, чтобы включить скриншот того, где находится ваш код, и скриншот привязки кнопки. Они управляются графическим интерфейсом, а не самим кодом.
Ответ №2:
Часто эта проблема может возникнуть из-за нескольких экранов или проблем с различием разрешения. Если вы используете ноутбук, подключенный к экранам, попробуйте использовать кнопку на ноутбуке, когда он отключен от ваших мониторов. Если это устранит проблему, убедитесь, что у вас одинаковое разрешение и/или масштабирование между двумя настройками.
Если это изменение произошло недавно и отображается на экране настольного компьютера или ноутбука без дополнительных мониторов, убедитесь, что масштабирование установлено на 100% в случае, если оно недавно изменилось.
Комментарии:
1. Хорошая мысль. В моем случае это просто ноутбук без дополнительного экрана. Масштабирование составляет 250%, как стандартная рекомендуемая настройка. 100% — это крошечный шрифт на экране 4k.
Ответ №3:
Решено — оказалось, что мне нужно было установить флажок «Включить макросы Excel 4.0». По-видимому, Microsoft только что начала отключать это по умолчанию в Office 365, начиная с этого месяца!
Так и в Excel… Файлgt;gt;gt;Параметрыgt;gt;gt;gt;gt;gt;gt; gt; Центр управления безопасностьюgt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;Настройки Центра управления безопасностьюgt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;Настройки макросов
Комментарии:
1. Вам не следует использовать макросы Excel 4.0. Они сильно отличаются от VBA. Они также неуверенны в себе. Эту опцию необходимо всегда отключать. Используйте только VBA. Решение, которое я предоставил, является решением VBA, которое не требует этой небезопасной настройки.
2. Соглашаться. Насколько мне известно, я не думаю, что использую макросы Excel 4.0. Я даже не знаю, что это такое. У меня просто обычный VBA, и я следую всем вашим предложениям в вашем посте. Все, что я знаю, это то, что когда я включаю Excel 4.0, кнопки снова запускают мой код VBA. И когда я отключаю его, кнопки перестают работать. (Кстати, как я могу определить, есть ли у меня какой-либо макрокод Excel 4.0?)
3. Ты бы знал. Это код, записанный в ячейки, как формула. Он вообще не использует окно VBA.
4. Хорошо — спасибо. Тогда я не использую макросы Excel 4.0. Понятия не имею, почему я должен включать его, чтобы мои кнопки работали, но такова жизнь
5. Я тоже это проверю: мои кнопки и флажки также продолжают отключаться от своих макросов (кнопки в строке пользовательского меню продолжают запускать те же макросы без проблем).
Ответ №4:
Что-то, что нужно попробовать: Убедитесь, что ваши фигуры «вызывающего абонента» имеют уникальные имена
Примечание: Возможно иметь несколько фигур с одинаковым именем и (по какой-либо причине), которые могут запутать соединение формы excel с макросом.
Дополнительная информация 1.
Если вы используете объект «сгруппированные фигуры» в качестве элемента управления, вы должны присвоить одно и то же имя всем фигурам в группе.
Дополнительная информация 2:
Первоначальным симптомом операции было просто «Макросы … перестали работать с помощью кнопок». С тех пор операция была обновлена и показывает сообщение об ошибке. Описанное здесь отключение из-за неуникального именования не вызывает сообщения об ошибке. Скорее всего, симптомы могут быть следующими: а) макрос вообще не запускается или б) объект «вызывающий» в вызываемом макросе недействителен.
Комментарии:
1. Хорошая идея. Я запустил программу для поиска двойников, нашел пару и переименовал их, но не исправил проблему
- 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
-
Изменено














