Макросы для excel 2007 не работают

Что делать если макрос не работает?

Отказ макроса или надстройки от выполнения своих функций имеет ряд причин. Рассмотрим наиболее распространенные из них.

Операционная система

Вплоть до Office 2016 пакет приложений Microsoft Office выпускается в различных версиях, для Windows и для Mac OS. Встроенный в приложения Office язык программирования при этом использует отличающиеся друг от друга библиотеки операционной системы. В связи с этим макрос/надстройка, написанная для работы в приложениях под Windows, может не работать, либо работать некорректно в MacOS. Проверьте операционную систему, для которой разрабатывался макрос/надстройка.

Разработчик пакета офисных приложений

Кроме Microsoft Office, пользователи достаточно часто используют альтернативные пакеты офисных приложений, такие как OpenOffice или LibreOffice. Приложения этих пакетов также имеют встроенные языки программирования, но эти языки отличаются друг от друга. Макросы или надстройки, написанные в Visual Basic for Application в приложениях пакета Microsoft Office, не будут работать в приложениях OpenOffice или LibreOffice. Уточните, для какого пакета офисных программ разработан макрос/надстройка.

Наличие компонента VBA

Для того, чтобы можно было запустить макрос или надстройку в каком-либо приложении пакета Office, необходимо, чтобы с этим пакетом был установлен компонент VBA – встроенный язык программирования Visual Basic for Application. В некоторых версиях Office этот пакет может устанавливаться отдельно. Проверьте, установлен ли этот компонент на компьютере. Нажмите сочетание клавиш Alt+F11, если после этого появляется окно редактора Visual Basic, то компонент установлен. В случае, если компонент отсутствует, его необходимо установить.

Версия Microsoft Office

Microsoft Office 2003 использует надстройки с расширением .xla (для Excel), .dot (для Word) и так далее. В более поздних версиях расширения надстроек изменились: .xlam (для Excel), .dotm (для Word). При установке надстроек старого формата в приложения Office 2007 и выше никаких проблем не происходит, а вот при попытке установить надстройку нового формата в приложения пакета Office 2003, возникает сообщение о том, что надстройки не обнаружены. Убедитесь в том, что используемая надстройка предназначена именно для той версии Office, в которой Вы работаете.

Читайте также:  Honda accord не работает спидометр

Активация Microsoft Office

Убедитесь в том, что Microsoft Office не требует активации. Проведите активацию, чтобы избежать каких-либо ограничений при использовании приложений.

Снятие блокировки файла

Файл, полученный с другого компьютера или из сети интернет может быть заблокирован. Чтобы разблокировать такой файл, необходимо кликнуть на нем правой кнопкой мыши и на вкладке «Общие» нажать кнопку «Разблокировать».

Система безопасности

Если все вышеизложенное не ответило на вопрос «почему не работает макрос?», то, скорее всего, дело в настройках системы безопасности. Перейдите на страницу https://macros-vba.ru/knigi/vba/nastrojki-sistemy-bezopasnosti и проделайте то, что написано в разделах «Надежные расположения» и «Настройка доступа к объектной модели VBA».

Используемые библиотеки

Еще одна ситуация при которой не работает макрос сопровождается появлением сообщения Can’t find project or library при этом тот же самый макрос может без нареканий работать на другом компьютере. В разных версиях приложений, в которые встроен VBA могут использоваться разные библиотеки, в связи с чем могут возникать подобные ошибки. Ошибку можно устранить, если в окне, которое следует за сообщением об ошибке снять флажки, установленные в пунктах, содержащих слово MISSING.

Это окно также можно вызвать и самостоятельно, если в редакторе VB выбрать пункт меню Tools/References.

Кроме этого не все библиотеки подключаются автоматически. Если на компьютере разработчика макроса или надстройки какая-то библиотека была подключена вручную, затем макрос или надстройка были перенесены на другой компьютер, где эта библиотека не подключена, возникает такая-же ошибка.

Источник

Ошибка макроса

Если в выполняемом макросе произошел сбой, отображается сообщение об ошибке макроса.

В этом случае используемый метод не подходит для указанного объекта по одной из приведенных ниже причин.

Аргумент содержит недопустимое значение. Как правило, причина ошибок такого рода — попытка обратиться к несуществующему объекту, например Книга(5), когда открыты только три книги.

Указанный метод нельзя использовать в данном контексте. Например, некоторые методы объекта Range требуют, чтобы диапазон содержал данные. Если в диапазоне их нет, метод выдает ошибку.

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

(Эта проблема не относится к Mac) Метод или свойство нельзя использовать с текущими параметрами безопасности. Например, свойства и методы объекта VBE для работы с кодом на языке Visual Basic для приложений (VBA), хранящимся в документах Microsoft Office, по умолчанию недоступны.

Чтобы включить доверенный доступ к проектам Visual Basic, выполните указанные ниже действия.

В включить вкладку «Разработчик» на ленте. Дополнительные сведения см. в этой вкладке.

На вкладке Разработчик в группе Код выберите элемент Безопасность макросов.

В разделе Параметры макросов для разработчика установите флажок Доверять доступ к объектной модели проектов VBA.

Чтобы получить дополнительные сведения об использовании метода, выполните поиск по его имени в справке Visual Basic.

Источник

Макросы в старой версии excel плохо работают в новых версиях excel (2007 и выше)

Добрый день.
Cкачал в интернете программу в excel сделанную на макросах. Пробовал открывать в excel 2007, 2010 — почти ни чего не работает (Вылетает ошибка «Run time error» или пишет что скрипты отключены системой безопасности.)

Открыл в excel 2003 portable — вроде бы после каких-то смен опции безопасности стали рабоать некоторые скрипты.. но тоже с ошибками.

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

Программу прилагаю. Cпасибо.

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

Вложения

Солнечная радиация 26-10-04.xls (562.5 Кб, 9 просмотров)

Где находится опция «Добавить интерактивность» в Excel 2007 и более новых версиях?
В «Excel 2003» если сделать так: Файл — Сохранить как. Откроется окно «Сохранение документа»;.

Адаптировать файл Excel от старой версии (2003) к новой (2016)
Здравствуйте! Помогите решить проблему с Excel-файлом с кучей дополнительных функций. Начальник.

Не работают VBA макросы Excel
Доброго времени суток, перестали работать полностью все макросы у некоторых пользователей, не.

Определение новых клиентов в клиентской базе (Excel 2007)
Большая просьба откликнуться. есть база данных по клиентам компании, с объемами продаж.

это что то у вас. У меня в 2007 открылась без проблем.

Добавлено через 2 минуты
Параметры эксель — Центр управления безопасностью-Параметры Центра управления безопасностью-Параметры макросов-Включить все. Макросы разрешены у вас?

Надо разбирать конкретную ошибку. Этот диалог, скорее всего, имеет кнопку Debug. Можно её нажать и изучить, что за ошибка там произошла. Ну а в моём бложике можно ознакомиться со статейкой ,где описывается процесс отладки и выявление-устранение ошибок

Varlam1414, когда переходишь на лист результата, то там в ячейке D200 стоит формула =ВПР(A200;E184:F197;2;1) и она выдает ошибку #Н/Д, которая возникает тогда, когда первый параметр (А200 и там у вас 0) меньше минимального значения первого столбца таблицы. А ошибка, вследствие этого, возникает в строке
O2_T = Cells(216, 11) + Cells(200, 4)
Если вас не затруднит, то почитайте описание ВПР. Если вы надеетесь, что запустив чужую программу вы получите нужный результат, то не всегда. А открывается файл нормально на 7.

Добавлено через 5 минут
Кстати, что означает, с точки зрения программирования, ПЛОХО РАБОТАЮТ?

Burk
Varlam1414, когда переходишь на лист результата, то там в ячейке D200 стоит формула =ВПР(A200;E184:F197;2;1) и она выдает ошибку #Н/Д, которая возникает тогда, когда первый параметр (А200 и там у вас 0) меньше минимального значения первого столбца таблицы. А ошибка, вследствие этого, возникает в строке
O2_T = Cells(216, 11) + Cells(200, 4)
Если вас не затруднит, то почитайте описание ВПР. Если вы надеетесь, что запустив чужую программу вы получите нужный результат, то не всегда. А открывается файл нормально на 7.

Добавлено через 5 минут
Кстати, что означает, с точки зрения программирования, ПЛОХО РАБОТАЮТ?

Да, нашел эту ошибку. Но когда открыл в excel 2003 — это значение само подставилось 817 и все посчиталось без ошибок. Но зато в excel 2003 (Как и в 2007 )возникает другая ошибка. Когда пытаешься добавить новый город в справочник с другой широтой или изменить широту существующего города на другу — возникает ошибка:

Varlam1414, ну так нельзя, ваши миниатюры не шибко то и нужны. А вот если вы при желтенькой ошибке встанете мышкой на какую-то переменную, в данном случае на U или на Cells(3,4), то увидите её значение, может у вас и номера листа такого нет. И вообще нужна последовательность действий напр. переход на второй лист, потом ввел в ячейку такую-то то-то, нажал на кнопку .

Добавлено через 6 минут
И лучше писать последовательность действий, приводящих к ошибке.

Источник

Почему не работает макрос?

Предположим, Вы скачали файл с данного сайта с примером макроса, открываете файл, но макросы в нем не работают! Как такое может быть? Неужели автор сайта выложил неработающий пример и не знает об этом? И тем более как может случиться такое, что Вы перенесли со своего ПК на другой ПК файл с рабочими макросами на флешке, запускаете, а он не работает. Почему? Вроде все правильно делаете, да ведь и у Вас работает на ПК. И начинает закрадываться мысль: «А чем же этот ПК и 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: закрыть его полностью и открыть заново. Только после этого изменения вступят в силу.

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

Sub Reset_Events() Application.EnableEvents = True End Sub

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

Статья помогла? Поделись ссылкой с друзьями!

Источник

Макросы для excel 2007 не работают

Вопрос

Сегодня прилетела куча обновлений 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. Далее радуемся жизни и работающему коду.

Источник

Оцените статью