Excel ошибка доступа к vba

Проблема

Код, написанный для автоматизации приложений Office и программного манипулирования средой VBA и объектной моделью, может дать сбой при работе в Office, отобразив одно из следующих сообщений об ошибке:

От Visual Basic или VBA:

Ошибка выполнения ‘6068’: Программный доступ к проекту Visual Basic не является доверенным.

От Microsoft Visual C++, Microsoft Foundation Classes (MFC) или ActiveX Template Library (ATL):

HRESULT = 0x800A17B4 (-2146822220) «Программный доступ к проекту Visual Basic не является доверенным»

Тот же самый код будет работать без ошибок на компьютерах с установленным Office 97 и Office 2000.

Причина

Приложение Office добавляет параметр безопасности, который намеренно блокирует программируемый доступ к объектной модели VBA из любого клиента автоматизации, за исключением тех случаев, когда пользователь решает разрешить подобный доступ. Доступ запрещается по умолчанию и разрешается каждым отдельным пользователем для каждого отдельного приложения.

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

Решение

Чтобы любой клиент автоматизации получил доступ к объектной модели VBA программным способом, пользователь, запускающий код, должен предоставить полный доступ. Для включения доступа пользователь должен выполнить следующие действия.

Office 2003 и Office XP

  1. Откройте приложение Office 2003 или Office XP соответственно. В меню Сервис выберите пункт Макрос, а затемБезопасность, чтобы открыть диалоговое окно Безопасность макросов.

  2. Во вкладке Надежные источники установите флажок Доверять доступ к Visual Basic Project.

  3. Нажмите кнопку OK, чтобы изменения вступили в силу. При автоматизации из надстройки Component Object Model или шаблона, возможно, придется перезапустить приложение, чтобы код запустился правильно.

Office 2007

  1. Откройте вызывающее вопросы приложение версии 2007 системы Microsoft Office. Нажмите кнопку Microsoft Office, затем выберите Приложение Параметры.

  2. Перейдите на вкладку Центр доверия и нажмите кнопку Параметры центра доверия.

  3. На вкладке Параметры макроса установите флажок Доверять доступ к объектной модели VBA project и нажмите кнопку OK.

  4. Нажмите кнопку ОК.

Нужна дополнительная помощь?

Содержание

  1. Не работают макросы в Excel: кто виноват и что делать?
  2. Причины
  3. Что делать
  4. Включите опцию
  5. Добавьте нужный модуль в книгу
  6. Проверьте операционную систему
  7. Обратите внимание на разработчика
  8. Проверьте версию Майкрософт Офис
  9. Убедитесь в наличии пакета VBA
  10. Активируйте Офис
  11. Снимите блокировку файла
  12. Проверьте библиотеки
  13. Проверьте настройки безопасности
  14. Ошибка макроса
  15. Как исправить ошибку VBA 400 в Excel
  16. Что вызывает ошибку VBA 400 в Excel?
  17. Как исправить ошибку VBA 400 в Excel
  18. 1]Переместить макросы в новый модуль
  19. 2]Включить надежный доступ к VBA
  20. 3]Проверьте свой код
  21. 4]Восстановить Microsoft Excel
  22. 5]Удалите, а затем повторно установите Excel.
  23. 6]Некоторые другие методы

Не работают макросы в Excel: кто виноват и что делать?

Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.

Причины

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

  1. Функция отключена.
  2. Отключение отслеживания событий.
  3. Устаревшая операционная система.
  4. Несоответствие разработчика пакета офисных приложений.
  5. Устаревшая версия Майкрософт Офис.
  6. Неактивированная версия Excel.
  7. Заблокированный файл.
  8. Неправильные настройки безопасности.
  9. Отсутствие необходимой библиотеки и т. д.

Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.

Что делать

Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.

Включите опцию

Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.

Если не работают макросы в Excel 2003, сделайте следующие шаги:

  1. Войдите в «Сервис».
  2. Перейдите в раздел «Безопасность».
  3. Кликните «Уровень макросов «Низкий».

В случае, когда не работают макросы в Excel 2007, включите их следующим образом:

  1. Жмите на кнопку «Офис».
  2. Войдите в параметры Excel.
  3. Кликните на «Центр управления безопасности».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Жмите на «Параметры макросов».
  6. Кликните на «Разрешить все …».

В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:

  1. Войдите в раздел «Файл».
  2. Кликните на кнопку «Параметры».
  3. Зайдите в «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры …».
  6. Жмите на «Разрешить все …».

После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.

Добавьте нужный модуль в книгу

Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:

  1. Перейдите в редактор VBA с помощью клавиш Alt+F11.
  2. Вставьте указанный ниже код.
  1. Для выполнения кода поставьте курсор в любой точке между началом и концом.
  2. Кликните 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 необходимо сделать следующее:

  1. Войдите в Меню
  2. Кликните на пункт «Параметры».
  3. Жмите на «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Как исправить ошибку VBA 400 в Excel

В этой статье мы обсудим методы исправления ошибки VBA 400 в Excel. Ошибка 400 в Excel обычно возникает при запуске макроса Microsoft Visual Basic для приложений (VBA). Это вызывает сбой макроса или сбой при запуске и возвращает сообщение об ошибке 400. Причины такой ошибки могут быть разными; давайте обсудим их.

Что вызывает ошибку VBA 400 в Excel?

Вот причины, из-за которых возникает ошибка 400 при запуске макроса в Excel:

  • Неправильная установка программного обеспечения Office.
  • В коде VBA есть ошибка.
  • Недопустимое значение аргумента.
  • Запущенный макрос поврежден.
  • Файлы, связанные с Excel, заражены каким-либо вредоносным ПО.
  • Ошибка чтения / записи из файла.
  • Неверные записи в реестре.

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

Как исправить ошибку VBA 400 в Excel

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Вот способы исправить ошибку 400, возникшую при запуске макроса в Excel:

  1. Переместите макросы в новый модуль.
  2. Включите доверенный доступ к VBA.
  3. Просмотрите свой код VBA.
  4. Восстановите Microsoft Excel.
  5. Удалите, а затем повторно установите Excel.
  6. Некоторые другие методы, такие как сканирование на наличие вредоносных программ и т. Д.

Давайте подробно обсудим эти методы.

1]Переместить макросы в новый модуль

Перенос макросов в новый модуль может решить проблему в случае внешней ошибки. Для этого вы можете использовать следующие шаги:

Перейдите на вкладку «Разработчики» и выберите «Визуальный редактор». Если вы не видите вкладку «Разработчики» на главной ленте в Excel, перейдите в «Файл»> «Параметры» и на вкладке «Настройка лент» установите флажок «Разработчики» в разделе «Основные вкладки».

Теперь в окне Microsoft Visual Basic для приложений щелкните меню «Вставка» и выберите параметр «Модуль».

После этого вставьте код макроса в этот новый модуль и сохраните его, используя специальную опцию в меню «Файл».

Кроме того, вам нужно удалить старый модуль, щелкнув его правой кнопкой мыши и используя Удалять вариант.

Наконец, щелкните Файл> Закрыть и вернуться в Microsoft Excel и посмотрите, устранена ли ошибка 400 в Excel.

2]Включить надежный доступ к VBA

Вы можете включить доверенный доступ к VBA и посмотреть, исчезла ли проблема. Вот шаги, чтобы включить доверенный доступ к VBA:

  1. Перейдите на вкладку «Разработчики» и нажмите «Безопасность макросов».
  2. В окне центра управления безопасностью включите параметр Надежный доступ к объектной модели проекта VBA.
  3. Нажмите кнопку ОК.

3]Проверьте свой код

Ошибка в коде VBA может вызвать ошибку 400 в Excel. Итак, вам необходимо тщательно просмотреть код макроса и исправить ошибку в коде, если таковая имеется. Также проверьте макросы на наличие повреждений.

4]Восстановить Microsoft Excel

Если ничего из вышеперечисленного не работает, проблема может быть в приложении Excel. Возможно, приложение установлено неправильно или что-то нужно исправить. Итак, восстановите Microsoft Excel, используя следующие шаги:

  1. Запустите приложение «Настройки» и выберите «Приложения»> «Приложения и функции».
  2. Справа найдите и щелкните Программа Office 365 / Microsoft 365.
  3. Нажмите на кнопку «Изменить», а затем выберите вариант «Онлайн-ремонт» или «Быстрое восстановление».
  4. Нажмите кнопку «Восстановить», чтобы восстановить Excel и другие приложения Office.

5]Удалите, а затем повторно установите Excel.

Вы также можете попробовать удалить, а затем переустановить программное обеспечение Office и Excel, чтобы начать заново. Посмотрите, устраняет ли это ошибку.

6]Некоторые другие методы

Кроме того, некоторые другие решения также могут работать, например:

  • Вы можете попробовать запустить сканирование SFC, чтобы проверить и восстановить поврежденные системные файлы.
  • Некоторые вредоносные программы также могут вызывать эту ошибку. Итак, проверяйте и удаляйте вредоносные программы и подозрительные приложения с помощью Microsoft Defender или сторонней антивирусной или антивредоносной программы.
  • Попробуйте удалить поврежденные данные кеша и системные ненужные файлы.

Надеюсь, что приведенные выше решения помогут!

Теперь прочтите: Как исправить ошибку выполнения 1004 в Excel

.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник

Если при работе парсера появляется ошибка «Невозможно запустить макрос, — нет доступа к проекту VBA», то необходимо сделать следующее:

1) закройте сообщение об ошибке, остановите парсер (если запущен)

2) нажмите в меню Excel ФАЙЛ — ПАРАМЕТРЫ
В левом меню нажмите Центр управления безопасностью, а потом справа — кнопку Параметры центра управления безопасностью..

3) в появившемся окне «Центр управления безопасностью», в левом столбце, найдите и щелкните пункт «Параметры макросов»
Справа увидите галочку «Доверять доступ к объектной модели проектов VBA»

Эта галочка уже включена, скорее всего. Если нет, — поставьте галочку.
Если галочка изначально стояла, то снимите её, и поставьте снова.

4) перезапустите Excel.
Теперь проблема решена, сообщение об ошибке больше не должно появляться.

Make sure you double-check your code as errors can easily creep in.

by Vlad Turiceanu

Passionate about technology, Windows, and everything that has a power button, he spent most of his time developing new skills and learning more about the tech world. Coming… read more


Updated on August 18, 2022

Reviewed by
Radu Tyrsina

Radu Tyrsina

Radu Tyrsina has been a Windows fan ever since he got his first PC, a Pentium III (a monster at that time). For most of the kids of… read more

  • Excel Macro represents a set of commands and actions that are triggered by a VBA code.
  • As handy as it has proven to be, VBA is no stranger to errors especially if you write the code yourself.
  • The VBA error 400 is quite common and usually appears if your Macro fails or crashes whilst it’s running.
  • Don’t worry, we have prepared 3 easy fixes for you to try in order to remove this pesky error for good.

how to resolve VBA error 400

When you have a set of actions that you do constantly, creating a Macro in Excel is crucial.

Once you create it, it runs on its own and delivers great reports. That is if you don’t get any error.

Some users seem to be getting a VBA error 400 when trying to run their Macro in Excel. There are no further indications only a box with an OK button.

How can I solve VBA error 400 in Excel?

Either way, don’t worry we have some simple solutions for you.

We suggest that you follow the steps mentioned in this article in the presented order. Hopefully, they will help you solve your problem.

1. Fix VBA error 400 by moving your Macros to another Module

If you are getting the VBA error 400 in Excel while trying to run your Macros, moving them to a new Module can fix it.

There could be a problem with the old Module, therefore switching to a new one might fix the error.

1. Open Microsoft Excel.

2. We need to create the new Module to transfer your Macros to. Click on the Developer tab from the Ribbon menu.

how to fix vba error 404 developer tab

3. Select Visual Basic from the options.

visual basics how to fix vba error 400

4. In the VBA menu, click Module on the Insert menu.

fix vba error 400 select module

5. Paste the VBA code that you want to use.

6. Navigate to the File menu and click Save Global. Now your Macros are successfully moved to the new Module.

7. Delete the old module.

2. Fix VBA error 400 by turning on the trusted access

how to resolve excel VBA error message
  1. Go to the Developer tab (If this is not available click File > Options > Customise Ribbon > choose the Developer checkbox).
  2. In the  Code group – go to the Developer tab.
  3. Click Macro Security.
  4. Select Developer Macro Settings – choose Trusted access to the VBA project.
Read more about this topic

  • Excel Running Slow? 4 Quick Ways to Make It Faster
  • Fix: Excel Stock Data Type Not Showing
  • Best Office Add-Ins: 15 Picks That Work Great in 2023

3. Check your code for mistakes to fix VBA error 400

how to fix VBA error in excel macros

Make sure to always check your code for any mistakes. Additionally, checking for any macros corruption is necessary as well.

That’s about it. We hope that doing these confirmed solutions will fix your VBA 400 Error. In case you have other confirmed suggestions please let us know in a comment below.

Still having issues? Fix them with this tool:

SPONSORED

If the advices above haven’t solved your issue, your PC may experience deeper Windows problems. We recommend downloading this PC Repair tool (rated Great on TrustPilot.com) to easily address them. After installation, simply click the Start Scan button and then press on Repair All.

newsletter icon

Newsletter

Не получается запустить макрос vba в проекте c#. Подскажите, что я делаю не так.
Сначала открываю excel файл,а затем прогоняю макрос. Но вылезает ошибка в строке
«oModule = oWb.VBProject.VBComponents.Add(VBA.vbext_ComponentType.vbext_ct_StdModule);»
Программный доступ к проекту Visual Basic не является доверенным

string xlSheetPath = textBox1.Text;
        string ext = xlSheetPath.Substring(xlSheetPath.LastIndexOf("."),
            xlSheetPath.Length - xlSheetPath.LastIndexOf("."));
        int xlVersion = (xlSheetPath.Substring(xlSheetPath.LastIndexOf("."),
            xlSheetPath.Length - xlSheetPath.LastIndexOf(".")) == ".xls") ? 
 8 : 12;

        Microsoft.Office.Interop.Excel._Application xlApp = new 
  Excel.Application();
        xlApp.Visible = true;
        Excel.Workbook workbook = xlApp.Workbooks.Open(xlSheetPath);
        Excel.Worksheet worksheet = workbook.Sheets[1];


        //Где то тут включить макрос.

        Excel.Workbook oWb;
        Excel.Workbooks oWbs;
        Excel.Worksheet oSheet;
        VBA.VBComponent oModule;

        String sCode;

        //xlApp.SheetsInNewWorkbook = 1;
        oWbs = (Excel.Workbooks)xlApp.Workbooks;
        oWb = oWbs.Add(System.Reflection.Missing.Value);
        oSheet = xlApp.Worksheets.Add();
        oModule = 
 oWb.VBProject.VBComponents.Add(VBA.vbext_ComponentType.vbext_ct_StdModule);
        sCode = "Sub copyTable()rn" +
            "Dim colRange As Variantrn" +
            "colRange = Array(1, 2, 3, 4, 5, 6, 7) 'Columns where your data 
  is'rn" +
            "Dim destColRange As Variantrn" +
            "destColRange = Array(10, 11, 12, 13, 14, 15, 16, 17) 'Columns 
  where you want data be copied'rn" +
            "n = UBound(colRange) - LBound(colRange)rn" +
            "i = 2 'Initial row'rn" +
            "newI = irn" +
            "maxLen = 500 'Maximum size allowed in one cell'rn" +
            "While Not (Cells(i, colRange(0)) Is Nothing) And (Cells(i, 
  colRange(0)) <> "")rn" +
            "Text = Cells(i, colRange(n))rn" +
            "Dorn" +
            "For j = 0 To n - 1rn" +
            "Cells(newI, destColRange(j)) = Cells(i, colRange(j))rn" +
            "Next jrn" +
            "Cells(newI, destColRange(j)) = Mid(Text, 1, maxLen)rn" +
            "Text = Mid(Text, maxLen + 1)rn" +
            "newI = newI + 1rn" +
            "Loop Until Len(Text) <= 0rn" +
            "i = i + 1 rn" +
            "Wendrn" +
            "End Subrn";
        oModule.CodeModule.AddFromString(sCode);
        sCode = null;
        xlApp.Run("[copyTable]", Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing);

….

Один из юзеров обратился за помощью с проблемой. При попытке открыть файл XLS MS Excel 2007 выдавал сообщение об ошибке — “Программный доступ к проекту visual basic не является доверенным”.

VBA in Excel - Программный доступ к проекту Visual Basic не является доверенным

Поискал ответ, везде говорится, что надо в настройках безопасности установит флаг “Доверять доступ к Visual Basic Project”. Установил — ошибка осталось. Оказалось, с этим флажком есть маленький прикол. Если ты получил упомянутую ошибку, поставил галочку “доверять” — оно начнет доверять только после того как ВСЕ копии Excel будут выгружены из памяти. И если офис использует “быструю загрузку”, а инсталлятор офиса по умолчанию ее запускает, то прийдется перегружать винду :).

Также можно прописать вот это в реестре, для своей версии Office:

[HKEY_CURRENT_USERSOFTWAREMicrosoftOffice12.0ExcelSecurity]
“AccessVBOM”=dword:00000001
“Level”=dword:00000001
“VBAWarnings”=dword:00000000

  • Remove From My Forums
  • Вопрос

  • Сабж. Кнопки «Visual Basic» и «Макросы» на вкладке «Разработчик» выключены (картинку не
    позволяет приложить).Подскажите, как лечить. Спасибо.

    Я настраивал доступ к книге через Рецензирование — Защитить лист / Защитить книгу, но VBA недоступен даже после снятия
    пароля на книгу.

    Из других файлов (и без паролей) на этом компьютере тоже недоступен.

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

    • Перемещено

      31 марта 2017 г. 22:48
      Более подходящий раздел

Ответы

  • Оказалось, VBA был не установлен на том компьютере для Office. Было достаточно установить его через Панель управления.

    • Помечено в качестве ответа
      ЖукMVP, Moderator
      14 апреля 2017 г. 14:26

Не работают макросы в Excel? Включите их выполнение, добавьте специальный модель с кодом, проверьте версию ОС и Эксель, убедитесь в соответствии пакета приложений, активируйте Майкрософт Офис, снимите блокировку файла, проверьте систему безопасности и применяемые библиотеки. Ниже подробно рассмотрим, в чем могут быть причины подобной неисправности, и какие шаги предпринимать для ее устранения.

Причины

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

  1. Функция отключена.
  2. Отключение отслеживания событий.
  3. Устаревшая операционная система.
  4. Несоответствие разработчика пакета офисных приложений.
  5. Устаревшая версия Майкрософт Офис.
  6. Неактивированная версия Excel.
  7. Заблокированный файл.
  8. Неправильные настройки безопасности.
  9. Отсутствие необходимой библиотеки и т. д.

Выше рассмотрены основные причины, почему не удается выполнить макрос в Excel. Все они могут быть решены самостоятельно с помощью приведенных ниже рекомендации. Подробнее на решении вопроса остановимся ниже.

Что делать

Многие пользователи теряются в ситуации, когда не включаются или вообще не работают макросы в Excel. Такая проблема не дает нормально пользоваться приложением и заставляет искать альтернативные варианты.

Включите опцию

Первое, что необходимо сделать — включить функцию для обеспечения ее работоспособности. Здесь многое зависит от версии Эксель.

Если не работают макросы в Excel 2003, сделайте следующие шаги:

  1. Войдите в «Сервис».
  2. Перейдите в раздел «Безопасность».
  3. Кликните «Уровень макросов «Низкий».

В случае, когда не работают макросы в Excel 2007, включите их следующим образом:

  1. Жмите на кнопку «Офис».
  2. Войдите в параметры Excel.
  3. Кликните на «Центр управления безопасности».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Жмите на «Параметры макросов».
  6. Кликните на «Разрешить все …».

В ситуации, когда не работают макросы в Excel 2016, сделайте следующие шаги:

  1. Войдите в раздел «Файл».
  2. Кликните на кнопку «Параметры».
  3. Зайдите в «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры …».
  6. Жмите на «Разрешить все …».

После внесения изменений параметра безопасности перезапустите приложение Excel, а именно закройте его полностью и откройте снова. Лишь после этого изменения вступают в силу.

Добавьте нужный модуль в книгу

Бывают ситуации, когда макросы включены, но не работают в Excel из-за отключения каким-либо элементом отслеживания событий. В таком случае сделайте следующее:

  1. Перейдите в редактор VBA с помощью клавиш Alt+F11.
  2. Вставьте указанный ниже код.

Sub Reset_Events()

Application.EnableEvents = True

End Sub

  1. Для выполнения кода поставьте курсор в любой точке между началом и концом.
  2. Кликните 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 необходимо сделать следующее:

  1. Войдите в Меню
  2. Кликните на пункт «Параметры».
  3. Жмите на «Центр управления безопасностью».
  4. Войдите в «Параметры центра управления безопасностью».
  5. Кликните на «Параметры макросов» и «Доверять доступ к объектной модели проектов».

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

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

Отличного Вам дня!

Понравилась статья? Поделить с друзьями:
  • Excel ошибка данные могут быть не сохранены
  • Excel ошибка все макросы отключены
  • Excel ошибка в ячейке имя
  • Excel ошибка в части содержимого в книге выполнить попытку восстановления
  • Excel ошибка в формуле чтобы ее исправить