Vba не работает excel только

Проблема с запуском макросов

Столкнулся с такой проблемой на своём домашнем ПК, на рабочем такого не было, но теперь тоже появилось. Значит есть файл Excel, в котором имеются макросы, один записан в объекте workbook, другие в модуле. Так вот, всё работало, но теперь макросы перестали запускаться. При этом настройки безопасности в Excel не изменяли и запуск макросов по-прежнему включен с уведомлением. Открываешь файл, уведомления о запуске нет, макросы не запускаются. Сохраняешь файл под другим именем, открываешь и уведомление появляется и макросы работают, закрываешь, открываешь второй раз и всё, снова ничего не работает и нет уведомления. Что за ХРЕНЬ? Такого никогда не было, поэтому ничего не могу понять, какая падла вредит?

Заранее благодарен за помощь!

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

Сохранение листа книги в файле — проблема с защитой листа и привязкой макросов
С толкнулся с такой проблемой при сохранении листа в файле вот код который сохраняет лист в.

Проблема с запуском 1C
такео вот дело, проблема с запуском 1с а точнее подключение к базе на сервере, в чем может.

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

Проблема с запуском
Приехала мне материнка с процессором, озу, куллер для процессора и видеокарта. Собрал это всё дело.

Спасибо за совет, но к сожалению не помогло. Грешил изначально на Excel 2016, с него всё началось, потом вернулся на 2010, но проблема возникла заново. Теперь открываю любой файл Excel с макросом и при повторном открытии макросы этого файла не работают автоматом. Если макрос назначен на кнопку, то работает, если макрос на событии — нет.

Грешил на антивирус, на вирус, откуда ноги растут не пойму, бред какой-то

Добавлено через 9 минут
На рабочем ПК как-то возникла такая проблема один раз, но после пересохранения вроде не появлялась, Почему вроде? Потому что сменил место работы, а если бы возникла, то оставшиеся работники уже обратились бы. На домашнем установлен Windows 10, на рабочем 7-ка. Какой-то бл. ский мелкософтский глюк, но искать истину, путем переустановки системы и всего прочего очень накладно. Да и может не в этом дело.

Антивирь DrWeb Security Space 12.0. В общем открыл файл с макросом, который с hdd, макрос естественно не запустился, сохранил этот файл с тем же именем через «сохранить как» на флешку. Открываю с флешки первый раз, макрос запускается, закрываю, открываю второй и всё.

Добавлено через 11 минут
Удаляю файл с флешки, открываю снова с HDD и «сохраняю как» на флешку, запускаю уже не работает. Вытаскиваю флешку, вставляю заново, запускаю, макросы не работают. Запускаются только в том случае, если удаляю файл с флешки, вытаскиваю её, снова вставляю и сохраняю на нее файл через «сохранить как» из Excel. Кстати, если открыть файл и не нажимать кнопку «включить макросы», закрыть файл и снова открыть, «то кнопка «включить макросы» появляется снова, стоит раз включить, макрос сработает и при повторном открытии уже ни кнопки, соответственно, ни запуска макроса.

Читайте также:  Как настроить vivo y91c

Источник

Ошибка приложения Excel при открытии файла с макросами

Не так давно очередной раз столкнулся с ошибками приложения Excel при попытке включения макросов после открытия файлов .xlsm. Вспомнил, что подобные проблемы преследуют пользователей довольно давно, но чаще всего они наблюдались с Excel 2013 и Excel 2016. Характерные особенности этой группы ошибок следующие:

  • Приложение Excel закрывается при открытии файла с макросами (при включенном режиме безопасности Включить все макросы );
  • Ошибка приложения Excel возникает при попытке включить содержимое (нажатии соответствующей кнопки);
  • Ошибка приложения Excel возникает при сохранении файла с макросами;

Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен , с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:

При этом было замечено, что непосредственно перед возникновением ошибки приложения Excel никаких системных обновлений и обновлений пакета Office не устанавливалось. Возможно, каким-то образом задействованы последние обновления на Office, но прямой связи я не заметил, а подробного исследования проблемы не проводил. При этом зависимости от версии операционной системы (мною лично сбои наблюдались на Windows 10 LTSC и Windows 7 Professional) так же выявлено не было. При анализе аварийного дампа приложения ( *.hdmp ) обычно можно увидеть подобную информацию исключения (вывод урезан):

обычно это NTSTATUS с кодом c0000005 — Access violation, доступ запрещен. И чаще всего в дампе можно увидеть такой вот стек потока (вывод оптимизирован для улучшения представления):

из которого единственное что понятно, так это то, что падение Excel происходит в недрах функций библиотеки vbe7.dll (среда исполнения VBA), подгруженной в адресное пространство процесса. Это указывает на проблемы с обработчиком VBA-скриптов, в контексте Excel чаще именуемых макросами.

Так что же такое VBA и для чего он предназначается?

В приложениях, входящих в комплект MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации множества рутинных задач (напр.: повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество иного богатого функционала. При помощи VBA доступно управление электронной таблицей посредством объектно-ориентированной модели кода/данных, при помощи VBA-кода входные данные таблиц могут быть обработаны и представлены в итоговых (результирующих) таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами. На выходе VBA проект, используемый в структурах описанных выше приложений (электронные таблицы Excel, презентации PowerPoint, базы Access), компилируется в специальный бинарный исполняемый файл, который размещается внутри файла основного формата. Применительно к Excel это файл vbaProject.bin , который располагается внутри *.xslm-файла в директории /xl , представляющий собой бинарный исполняемый файл проекта, содержащий макрос в откомпилированном (готовом к исполнению) виде.

Читайте также:  Почему может не работать стиральная машинка

Решение 1: вставка нового листа

Выполните приведенную последовательность действий:

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист .
  4. Сохраняем электронную таблицу. Закрываем Excel.
  5. Открываем проблемный файл заново и включаем макросы.

Решение 2: перекомпиляция проекта

Выполните последовательность действий:

  1. Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
  2. Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью .
  3. В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением .
  4. В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения .
  5. В разделе Надежные документы — выставляем чекбокс Отключить надежные документы .
  6. Жмем везде OK . Закрываем Excel.
  7. Открываем [проблемный] .xlsm-файл (файл с макросами).
  8. Не нажимаем кнопку Включить содержимое .
  9. Открывает редактор Visual Basic при помощи комбинации клавиш Alt + F11 . Либо можно использовать обходной маневр: в настройках включаем меню Разработчик , после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic .
  10. В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl + S ).
  11. Выбираем из меню Debug — выбираем пункт меню Compile VBA Project :

  • Еще раз сохраняем проект кнопкой Сохранить .
  • Закрываем редактор Visual Basic.
  • Сохраняем файл Excel через меню Файл — опцию Сохранить (или нажатием на значок дискетки в левом верхнем углу, либо комбинация клавиш Ctrl + S ).
  • Возвращаем все установки безопасности, сделанные на предыдущих шагах (пункты 2-5).
  • Закрываем xlsm-файл.
  • Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое .
  • Решение 3: добавление модуля

    Дополнительное решение состоит в том, что бы внести изменения в макрос без перекомпиляции.

    1. Открываем [проблемный] .xlsm-файл (файл с макросами).
    2. Не нажимаем кнопку Включить содержимое .
    3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt + F11 ).
    4. Открываем меню Tools → пункт Options . В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand :

    Закрываем окно Опции нажатием клавиши OK .
    В левом фрейме окна проекта ( Project ) спускаемся вниз, находим раздел Modules , жмем на нём правую кнопку → пункт Insert → Module :

  • Далее просто закрываем окно редактора Visual Basic, сохраняем основной xslm-документ и закрываем Excel.
  • Заново открываем [проблемный] файл, в верхней части, в строке статуса — включаем макросы посредством кнопки Включить содержимое .
  • Источник

    Код VBA «Behind» лист или книга могут не работать в Excel

    Версия этой статьи для Microsoft Excel 97 приведена в статье 157346.Версия этой статьи для Microsoft Excel 98 приведена в статье 182482.

    Проблемы

    В Microsoft Office Excel текст макросов Microsoft Visual Basic для приложений (VBA), содержащихся на рабочем листе или в книге, может работать неправильно.

    Причина

    Это происходит, если выполняются оба указанных ниже условия.

    Рассматриваемый код содержится в автоматически выполняемой подпрограмме, например в подпрограмме Auto_Open или AUTO_CLOSE .

    Этот код не содержится в модуле Visual Basic, а также на листе или в самой книге.

    Обходное решение

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

    Читайте также:  Как отремонтировать стул компьютерный газлифт опустился вниз

    В редакторе Visual Basic в окне проекта активируйте книгу, содержащую рассматриваемый код.

    В меню Вставка выберите команду Модуль.

    После вставки нового модуля вырежьте этот код из исходного места и вставьте его в модуль Visual Basic. Затем сохраните книгу.

    Дополнительная информация

    В Excel можно хранить код VBA в трех разных расположениях: в модуле Visual Basic, в модуле Visual Basic, а также на листах и книгах. Чтобы изменить код «за» на листе или в книге, выполните указанные ниже действия.

    Активируйте редактор Visual Basic (нажмите клавиши ALT + F11).

    В окне » Обозреватель проектов » отображаются записи, аналогичные приведенным ниже.

    Если дважды щелкнуть один из названий листов или ThisWorkbook, вы можете ввести код в окне кода. Этот код, не содержащийся в модуле Visual Basic, считается «Behind» на листе или вThisWorkbook . Если Auto_Open, AUTO_CLOSEили другие автоматически выполняемые подпрограммы хранятся «на листе или в ThisWorkbook, это может привести к некорректной работе при открытии или закрытии книги, а также при выполнении действия, которое должно приводить к выполнению подпрограммы.

    Источник

    Office 2013 Visual Basic для приложений (VBA) ошибки

    Симптомы

    При открытии файла или попробуйте использовать макросы в Microsoft Office 2013 2 нажмите кнопку Run (C2R) возможно возникновение следующих проблем.

    Microsoft Access

    Постоянно мигает, окно установщика Windows.

    При использовании мастера Access появляется следующее сообщение об ошибке:

    «Это средство не установлено или была отключена»

    При открытии редактора Visual Basic (VBE) появляется следующее сообщение об ошибке:

    «Microsoft Access не удалось загрузить Visual Basic для приложений библиотеки динамической компоновки (dll) Vbe7»

    Microsoft Word

    После нажатия кнопки макросы, , вы получаете следующее сообщение об ошибке:

    «Функция, которую вы пытаетесь запустить, содержит макросы или содержимое требует поддержки языка создания макросов»

    Microsoft Excel

    При открытии существующих книг, можно получить следующее сообщение об ошибке:

    «Visual Basic для приложений (VBA) макросов в данной книге повреждены и были удалены.» Открытие существующей книги

    Параметры Visual Basic, макросыи Записи макросов отключены в группе разработчиков и просмотр ленты.

    Параметры Visual Basic и макросы отключаются на ленте.

    При открытии презентаций с VBA-кодом возникает следующая ошибка:

    «Документ содержит макросы. Для этого приложения поддержка макроязыка отключена. Компоненты, которым требуется VBA не доступны. Вы хотите открыть этот документ только для чтения?»

    Причина

    Очистители реестра сторонних разработчиков и обслуживание приложений системы удалены несколько разделов реестра, используемых для выполнения функций VBA в приложениях Microsoft Office 2013.

    Решение

    Запустите интерактивный ремонт пакета Office. Вот как:

    Нажмите кнопку Пуск> Панель управления> программы и компоненты.

    Выберите приложение Microsoft Office и нажмите кнопку Изменить.

    Выберите Восстановление по сети и затем нажмите кнопку Восстановить.

    После завершения восстановления сети следует использовать приложения Office 2013.

    На начальном экране введите в поле поиска Панели управления и затем коснитесь или щелкните приложения.

    Нажмите кнопку или выберите Панель управления > программы > программы и компоненты.

    Выберите программу Microsoft Office и нажмите кнопку Изменить.

    Выберите Восстановление по сети и затем нажмите кнопку Восстановить.

    После завершения восстановления сети следует использовать приложения Office 2013.

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

    Источник

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