sgeleta Пользователь Сообщений: 75 |
Получил файл на тест работы макроса. |
Karataev Пользователь Сообщений: 2306 |
После открытия файла, вверху есть желтая панель с кнопкой «Включить содержимое»? С помощью этой кнопки Вы разрешите запуск макросов, которые находятся в этом файле. |
sgeleta Пользователь Сообщений: 75 |
В свойствах все макросы включены. Но при этом не работает |
Karataev Пользователь Сообщений: 2306 |
sgeleta, переназначьте макрос — щелкните по кнопке правой кнопкой мыши — Назначить макрос — выберите макрос. Стало работать? |
Alemox Пользователь Сообщений: 2183 |
Если вы сидите под урезанным пользователем, то-бишь вы не можете работать в режиме админа (устанавливать или удалять программы так как требует ввести пароль и прочее). и если у вас стоит точка включить все макросы, то это не значит что всегда макросы будут работать. Я так тоже пару раз напоролся, в режиме урезанного пользователя не все макросы запускаются и работают с включенной этой точечкой. Поставьте в режим Отключить все макросы с уведомлением. И потом по жёлтенькой панельке включайте макросы. Только сначала выйдите и зайдите в документ. Изменено: Alemox — 19.09.2017 11:01:15 Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
sgeleta Пользователь Сообщений: 75 |
Karataev, Спасибо за идею… Но опять ничего…Заколдованый |
sgeleta Пользователь Сообщений: 75 |
Alemox,Все сделал как Вы сказали… И опять ничего. |
Alemox Пользователь Сообщений: 2183 |
Может ребутнуться? Возможно что-то сглючило. Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
Karataev Пользователь Сообщений: 2306 |
sgeleta, а компьютер Ваш или Вы на работе и у Вас там действительно права регулируются? |
sgeleta Пользователь Сообщений: 75 |
Karataev, Комп домашний. поэтому права не регулируются админом. Комп перегрузил как Вы сказали и ничего….. |
sgeleta Пользователь Сообщений: 75 |
Возможно нужно найти бесплатный Excel 2010 и поставить на комп. Тогда возможно проблема решиться |
vikttur Пользователь Сообщений: 47199 |
Нет таких |
sgeleta Пользователь Сообщений: 75 |
поставил Excel 2007 — не работает. Та же ошибка. |
Alemox Пользователь Сообщений: 2183 |
Может у вас какой-нибудь антивируник блокирует, или программа какая есть, которая следит за выполнение различных скриптов. У вас случаем не Линукс через эмулятор? Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
sgeleta Пользователь Сообщений: 75 |
Alemox,Windows 10 Изменено: sgeleta — 19.09.2017 16:35:23 |
vikttur Пользователь Сообщений: 47199 |
Отключите и проверьте. Хотя в случае блокировки антивирусник ругался бы. |
smaiks Пользователь Сообщений: 3 |
у вас определенно макросы отключены. Файл — параметры — центр управления безопасностью — параметры центра управления — параметры макросов (включить все макросы) + параметры activeX включите на всякий случай. |
vikttur Пользователь Сообщений: 47199 |
#18 19.09.2017 17:06:37 smaiks, в заглавном сообщении:
Да и в сообщениях ниже написано, что некотоорые макросы работают. |
||
sgeleta Пользователь Сообщений: 75 |
всё включено, но не работает Прикрепленные файлы
|
_Igor_61 Пользователь Сообщений: 3007 |
Здравствуйте! Днем смотрел этот файл на рабочем компе (Win XP, Excel 2007), при нажатии на кнопку выскакивало MsgBox «Макросы включены» или что-то типа этого сообщения (дословно не помню). Сейчас дома: Win7 Excel 2007 — при открытии файла и последующем включении макросов Excel закрывается («Прекращена работа программы…» и т.д.). Открываю с отключенными макросами, пытаюсь открыть редактор VBA через «Разработчик» — такая же история. |
sgeleta Пользователь Сообщений: 75 |
_Igor_61,Я открыл нормально этот файл на старом ноутбуке с Excel 2010 |
У меня отрабатывает нормально нажатие кнопочки в Вашем файле. Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
sgeleta Пользователь Сообщений: 75 |
«У меня отрабатывает нормально нажатие кнопочки в Вашем файле. Хорошая идея. Я взял новый файл и по уроку Николая Павлова ( ) Все получилось… Теперь вообще не понимаю. в чем дело…. |
Murlif Пользователь Сообщений: 36 |
Дамы и Господа, добрый день. Тоже столкнулись с такой проблемой. В 2013 офисе все работает (в нем же написан макрос). На 2010 выдает сообщение «не удается выполнить макрос возможно этот макрос отсутствует». Копание в центре безопасности не помогло. В редакторе VBA на ПК с 2010 офисом часть кодов почему-то отображается «квакозяброй» вместо нормального текста. Может быть проблема с шрифтами? |
sokol92 Пользователь Сообщений: 4428 |
#26 02.02.2021 13:09:23 Выложите проблемный файл. Владимир |
Не работают макросы в 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, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Отличного Вам дня!
Я пытаюсь вызвать подпрограмму на другом листе, но я получил сообщение об ошибке во время выполнения.
В частности, у меня есть две таблицы и несколько сабвуферов VBA в этих таблицах. В одном из проектов VBA (скажем, workbook1.xlsm) у меня есть следующий код:
Sub AnalysisTableMacro()
Workbooks("Python solution macro.xlsm").Activate
Application.Run "Python solution macro.xlsm!.PreparetheTables"
End Sub
Но я получил следующую ошибку. Макросы на обоих листах включены. В обеих таблицах сабвуферы находятся в Модуле1.
Не удается запустить макрос «Workbook.xlsm! PrepareTheTables». Макрос может быть недоступен в> этой книге или все макросы могут быть отключены.
Я также попробовал Application.Run "Python solution macro.xlsm!Module1.PreparetheTables"
но не сработало.
Ответ 1
Если у вас есть пробел в названии книги, вы должны использовать одинарные кавычки (‘) вокруг имени файла. Я также удалил полную остановку.
Application.Run "'Python solution macro.xlsm'!PreparetheTables"
Ответ 2
В Microsoft KB попробуйте разрешить программный доступ к проекту Visual Basic:
- Нажмите кнопку Microsoft Office, а затем нажмите Параметры Excel.
- Нажмите Траст-центр.
- Нажмите Настройки центра управления безопасностью.
- Нажмите Настройки макроса.
- Нажмите, чтобы установить флажок Доверительный доступ к объектной модели проекта VBA.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно «Параметры Excel».
- Возможно, вам придется закрыть и снова открыть Excel.
Ответ 3
Имел ту же проблему, и я «Скомпилировал проект VBA», который выявил ошибку. После коррекции и компиляции макросы работали.
Ответ 4
Вы также сталкиваетесь с этой проблемой при создании процедуры в модуле класса.
Когда вы пытаетесь запустить код извне, вы получаете эту ошибку.
Вы также не можете назначить макрос кнопке члену модуля класса.
Если вы попытаетесь запустить из кода, нажав зеленую кнопку воспроизведения, вы также увидите ту же ошибку.
Либо переместите подпрограмму в обычный модуль, либо создайте новую процедуру в регулярном модуле, который вызывает член класса.
Ответ 5
У меня также была проблема с этой ошибкой, оказалось, что имя файла вызывает проблему.
Я называл это следующим образом:
Application.Run «и strPath и strFName и»!! UPC.PrintaFew «
Переменная strFName содержала в себе апостроф, который, конечно же, перепутал вещи. Мне потребовалось несколько часов, чтобы понять это. Но как только апостроф был удален из имени файла, он сработал.
Ответ 6
Эта ошибка появляется при открытии макроса, который последний раз сохранен с синтаксической ошибкой.
Сообщение, хотя и будет ссылаться на макрос, который вызывает ошибочный суб или функцию. Чтобы решить эту проблему, я обычно пытаюсь выполнить отдельные отредактированные макросы отдельно.
Ответ 7
В моем случае эта ошибка возникла, когда имя Sub было идентично имени модуля.
Ответ 8
Удалите макрос имени и снова создайте его.
Я сделал это, и макрос работал.
Ответ 9
Наиболее вероятной причиной этой ошибки является то, что функция безопасности в Excel VBA, которая не позволяет запускать код VBA. Пользователь должен явно предоставить разрешение на запуск макросов excel вместе с книгой.
Этот может или не может требовать программный доступ к проекту Visual Basic.
Для меня эта ошибка была решена: —
-
Включить редактирование и включение содержимого
- Изменение настроек макроса без программного доступа
Шаги и детали -
Изменение параметров макроса вместе с программными
доступ ( не рекомендуется, если какой-либо из вышеперечисленных процессов работает.
Это позволило бы управлять кодом для изменения элементов в VBA
Сам проект, включая ссылки и сам код — Ссылка)Шаги здесь
Ответ 10
У меня была такая же проблема, как и у OP, и это было вызвано тем, что объявление опций было написано с ошибкой:
' Comment comment
Options Explicit
Sub someMacroMakechart()
в дополнительном модуле вместо правильного;
' Comment comment
Option Explicit
Sub someMacroMakechart()
Ответ 11
Сохранить как .xlsm(Excel Macro-Enabled Workbook).
Ответ 12
В моем случае это было связано с тем, что публичная процедура в другом модуле и частная процедура в вызывающем модуле с тем же именем. VBA не различает эти два и, следовательно, дает тупые ошибки.
Ответ 13
Мне пришлось удалить все тире и символы подчеркивания из имен файлов и имен макросов, убедиться, что макрос включен и добавить их имя модуля .macro
Вот что я закончил: Application.Run( «‘» и WbName и «‘» и «! ModuleName.MacroName» )
Ответ 14
У меня была такая же проблема, и мне потребовалось время, чтобы разобраться. Моя цель состояла в том, чтобы вызвать код в отдельной книге. У меня был целевой объект в листе, а не в модуле. Оказывается, что не может удаленно вызывать суб или функцию, которая не находится в модуле.
Ответ 15
Я недавно столкнулся с этой проблемой и попробовал все вышеперечисленные решения, но в духе. На самом деле проблема в том, что я создаю флажок динамически с помощью Excel vba и назначаю макрос на действие, но когда я нажимаю на флажок, он выдает ошибку выше.
Решение
With Sheets("BACKUP_QUERY")
cbx.OnAction = .CodeName & ".ProcessCheckBox"
End With
Как мне найти решение?
Щелкните правой кнопкой мыши по флажку, а затем назначьте макрос вручную. Затем я проверил это, он работал отлично. Затем я заметил, что excel назначает макрос с использованием кодовых имен листов, а не фактических имен, которые мы установили внизу.
Ответ 16
В моем случае ошибка произошла, когда я поместил свой макрос (public sub) в раздел ThisWorkbook
файла, ожидая, что он сделает его видимым для функции Application.Run
. Это было не так, и я получил ту ошибку, о которой вы упоминали.
Я переместил свой макрос в отдельный модуль, и это решило проблему.
Ответ 17
проверить:
Application.Run "'Python solution macro.xlsm'!ThisWorkbook.PreparetheTables"
используйте имя модуля.
Microsoft® Excel® 2016 MSO (16.0.12228.20322), 64-разрядная версия
Файл :: Надстройки :: Управление: Надстройки Excel :: Перейти :: Поиск решения :: ОК
Запрос включения макросов для файла отсутствует.
При переходе на вкладку «Данные»:
Не удается выполнить макрос ’SOLVER.XLAMlGetGroupLabel’. Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены.
Включил все макросы
Файл :: Параметры :: Центр управления безопасностью :: Параметры центра управления безопасностью :: Параметры макросов :: Включить все макросы :: ОК
Включил ActiveX
Файл :: Параметры :: Центр управления безопасностью :: Параметры центра управления безопасностью :: Параметры ActiveX :: Включить все элементы управления без ограничений и запросов :: ОК
Ничего не помогло, как включить надстройку?
Добавлено через 44 минуты
%AppData%MicrosoftAddIns — пусто
Где оно вообще должно быть и как называется файл? Если его на компе нет — как установить?
Добавлено через 8 минут
Выскакивает при закрытии
Microsoft Visual Basic for Applications
Compile error in hidden module: SolverCode.
I This error commonly occurs when code is incompatible with the version, platform, or architecture of this application. Click ‘Help’ for information on howto correct this error.
Если это оно, то в %ProgramFiles%Microsoft OfficerootOffice16LibrarySOLVER имеется 2 файла:
* SOLVER.XLAM ;
* SOLVER32.DLL ;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Excel для Microsoft 365 Word для Microsoft 365 PowerPoint для Microsoft 365 Excel 2021 Word 2021 PowerPoint 2021 Excel 2019 Word 2019 PowerPoint 2019 Excel 2016 Word 2016 PowerPoint 2016 Excel 2013 Word 2013 PowerPoint 2013 Excel 2010 Word 2010 PowerPoint 2010 Еще…Меньше
Инспектор документов обнаружил в документе Office (Word, Excel или PowerPoint) один или несколько следующих элементов, которые могут содержать скрытые данные:
-
макросы (включая любые макросы WordBasic в документах Word или листы макросов Excel 4.0 (XLM) в книгах Excel);
-
модули VBA;
-
элементы COM или ActiveX;
-
формы пользователей (включая любые формы Excel 5.0 в книгах Excel);
-
пользовательские функции в книгах Excel.
Проблема
Инспектор документов не может удалить эти элементы, потому что в результате документ может перестать работать надлежащим образом.
Рекомендуемое решение
-
Закройте инспектор документов.
-
Вручную удалите все макросы, модули VBA, элементы COM или ActiveX, формы пользователей и пользовательские функции, которые могут содержать скрытые данные.
Чтобы найти макросы и модули VBA в документе, сделайте следующее:
-
В Word или Excel выберите Вид > Макрос > Макросы.
В PowerPoint выберите Вид > Макрос.
В окне Макрос выберите макрос, который хотите удалить, и нажмите кнопку Удалить.
-
Чтобы найти макросы в редакторе VBA, нажмите клавиши ALT+F11.
-
-
Чтобы убедиться, что проблема устранена, выберите Файл > Сведения > Поиск проблем > Инспектор документов.
Нужна дополнительная помощь?
Не работают макросы в 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, вы можете с легкостью исправить проблему и восстановить работоспособность. Если же сложности в работе возникают, вы всегда можете воспользоваться инструкцией в статье.
В комментариях расскажите, какой из приведенных выше вариантов вам помог, и что еще можно сделать.
Отличного Вам дня!
375
18 апреля 2007 года
dominator
199 / / 16.10.2003
Предполагая, что макрос не успевает записаться до конца делаю например следующее:
while sMacros = » do begin
sMacros := _oExcel.VBE.VBProjects.Item(1).VBComponents.Item(1).CodeModule.Lines[1, oCodeModule.CountOfLines];
end;
Теперь в переменной содержится текст макроса. Следовательно, он благополучно записан. Пробую выполнить его: результат такой же…
Привожу текст макроса:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=»Лист1!R1C1:R97C12″).CreatePivotTable TableDestination:=»», TableName:=»СводнаяТаблица2″, DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Код узла»)
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields( _
«Классификатор (Тип товаров)»)
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Артикул»)
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields( _
«Полное наименование»)
.Orientation = xlRowField
.Position = 4
End With
ActiveSheet.PivotTables(«СводнаяТаблица2»).AddDataField ActiveSheet.PivotTables _
(«СводнаяТаблица2»).PivotFields(«Остатки»), «Сумма по полю Остатки», xlSum
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Место хранения»)
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields( _
«Аббревиатура ед.изм.»)
.Orientation = xlRowField
.Position = 5
End With
ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Код узла»).Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range(«B10»).Select
ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields( _
«Классификатор (Тип товаров)»).Subtotals = Array(False, False, False, False, False, _
False, False, False, False, False, False, False)
Range(«C8»).Select
ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Артикул»).Subtotals = _
Array(False, False, False, False, False, False, False, False, False, False, False, False)
Range(«D7»).Select
ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Полное наименование»). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables(«СводнаяТаблица2»).PivotFields(«Аббревиатура ед.изм.»). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Берет данные из первого листа и строит сводную таблицу.
Подскажите, пожалуйста, в чем тут дело.
sgeleta Пользователь Сообщений: 75 |
Получил файл на тест работы макроса. |
Karataev Пользователь Сообщений: 2306 |
После открытия файла, вверху есть желтая панель с кнопкой «Включить содержимое»? С помощью этой кнопки Вы разрешите запуск макросов, которые находятся в этом файле. |
sgeleta Пользователь Сообщений: 75 |
В свойствах все макросы включены. Но при этом не работает |
Karataev Пользователь Сообщений: 2306 |
sgeleta, переназначьте макрос — щелкните по кнопке правой кнопкой мыши — Назначить макрос — выберите макрос. Стало работать? |
Alemox Пользователь Сообщений: 2183 |
Если вы сидите под урезанным пользователем, то-бишь вы не можете работать в режиме админа (устанавливать или удалять программы так как требует ввести пароль и прочее). и если у вас стоит точка включить все макросы, то это не значит что всегда макросы будут работать. Я так тоже пару раз напоролся, в режиме урезанного пользователя не все макросы запускаются и работают с включенной этой точечкой. Поставьте в режим Отключить все макросы с уведомлением. И потом по жёлтенькой панельке включайте макросы. Только сначала выйдите и зайдите в документ. Изменено: Alemox — 19.09.2017 11:01:15 Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
sgeleta Пользователь Сообщений: 75 |
Karataev, Спасибо за идею… Но опять ничего…Заколдованый |
sgeleta Пользователь Сообщений: 75 |
Alemox,Все сделал как Вы сказали… И опять ничего. |
Alemox Пользователь Сообщений: 2183 |
Может ребутнуться? Возможно что-то сглючило. Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
Karataev Пользователь Сообщений: 2306 |
sgeleta, а компьютер Ваш или Вы на работе и у Вас там действительно права регулируются? |
sgeleta Пользователь Сообщений: 75 |
Karataev, Комп домашний. поэтому права не регулируются админом. Комп перегрузил как Вы сказали и ничего….. |
sgeleta Пользователь Сообщений: 75 |
Возможно нужно найти бесплатный Excel 2010 и поставить на комп. Тогда возможно проблема решиться |
vikttur Пользователь Сообщений: 47199 |
Нет таких |
sgeleta Пользователь Сообщений: 75 |
поставил Excel 2007 — не работает. Та же ошибка. |
Alemox Пользователь Сообщений: 2183 |
Может у вас какой-нибудь антивируник блокирует, или программа какая есть, которая следит за выполнение различных скриптов. У вас случаем не Линукс через эмулятор? Мастерство программиста не в том, чтобы писать программы, работающие без ошибок. |
sgeleta Пользователь Сообщений: 75 |
Alemox,Windows 10 Изменено: sgeleta — 19.09.2017 16:35:23 |
vikttur Пользователь Сообщений: 47199 |
Отключите и проверьте. Хотя в случае блокировки антивирусник ругался бы. |
smaiks Пользователь Сообщений: 3 |
у вас определенно макросы отключены. Файл — параметры — центр управления безопасностью — параметры центра управления — параметры макросов (включить все макросы) + параметры activeX включите на всякий случай. |
vikttur Пользователь Сообщений: 47199 |
#18 19.09.2017 17:06:37 smaiks, в заглавном сообщении:
Да и в сообщениях ниже написано, что некотоорые макросы работают. |
||
sgeleta Пользователь Сообщений: 75 |
всё включено, но не работает Прикрепленные файлы
|
_Igor_61 Пользователь Сообщений: 3007 |
Здравствуйте! Днем смотрел этот файл на рабочем компе (Win XP, Excel 2007), при нажатии на кнопку выскакивало MsgBox «Макросы включены» или что-то типа этого сообщения (дословно не помню). Сейчас дома: Win7 Excel 2007 — при открытии файла и последующем включении макросов Excel закрывается («Прекращена работа программы…» и т.д.). Открываю с отключенными макросами, пытаюсь открыть редактор VBA через «Разработчик» — такая же история. |
sgeleta Пользователь Сообщений: 75 |
_Igor_61,Я открыл нормально этот файл на старом ноутбуке с Excel 2010 |
У меня отрабатывает нормально нажатие кнопочки в Вашем файле. Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
sgeleta Пользователь Сообщений: 75 |
«У меня отрабатывает нормально нажатие кнопочки в Вашем файле. Хорошая идея. Я взял новый файл и по уроку Николая Павлова ( https://www.youtube.com/watch?v=_3OLOaoY6H4 ) Все получилось… Теперь вообще не понимаю. в чем дело…. |
Murlif Пользователь Сообщений: 36 |
Дамы и Господа, добрый день. Тоже столкнулись с такой проблемой. В 2013 офисе все работает (в нем же написан макрос). На 2010 выдает сообщение «не удается выполнить макрос возможно этот макрос отсутствует». Копание в центре безопасности не помогло. В редакторе VBA на ПК с 2010 офисом часть кодов почему-то отображается «квакозяброй» вместо нормального текста. Может быть проблема с шрифтами? |
sokol92 Пользователь Сообщений: 4445 |
#26 02.02.2021 13:09:23 Выложите проблемный файл. Владимир |