Ребята, всем привет! 👋
Продолжаем изучать VBA. Перед запуском вашего кода редактор VBA компилирует код. По сути, это означает, что VBA проверяет ваш код, чтобы убедиться, что все требования для его правильного запуска соблюдены – он проверит, что все переменные объявлены.
Путем компиляции кода VBA помогает свести к минимуму любые возникающие ошибки во время выполнения.
В этом уроке рассмотрим что означает ошибка компиляции VBA и как она возникает.
✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.
⏩ Основные причины ошибок
- Необъявленные переменные
- Необъявленные процедуры
- Неправильное кодирование
- Отсутствующие ссылки
Рассмотрим каждую из ошибок подробнее
☑️ Необъявленные переменные
Если вы не объявляете переменные, но ваш параметр Explicit включен в верхней части вашего модуля, а затем вы запускаете макрос, произойдет ошибка компиляции:
Если вы нажмете 🆗, соответствующая процедура перейдет в режим отладки:
Кроме того, перед запуском кода вы можете принудительно выполнить компиляцию кода.
В меню выберите Отладка> Скомпилировать проект.
Компилятор обнаружит любые ошибки компиляции и соответствующим образом выделит первую найденную.
☑️ Необъявленные процедуры
Если ваш код ссылается на несуществующую процедуру, вы также получите ошибку компиляции. Например:
⚠️ Если процедура – NextProcedure не существует, то возникнет ошибка компиляции.
☑️ Неправильное кодирование
Если вы создаете цикл, используя For..Each..Next или With ..Завершите и забудьте и следующий или конец с… вы также получите ошибку компиляции:
То же самое произойдет с If, если конец If опущен!
☑️ Отсутствующие ссылки
Если вы используете библиотеку объектов, которая не является частью Excel, но вы используете объекты из библиотеки в объявлении переменной, вы также получите сообщение об ошибке компиляции:
Решение:
Это можно решить либо путем позднего связывания – объявления переменных объектами; или путем добавления соответствующей библиотеки объектов в проект.
В меню выберите Сервис> Ссылки:
и добавьте соответствующую библиотеку объектов в свой проект:
🔔 Для получения дополнительной информации об обработке ошибок VBA рекомендуем:
- Ошибка 1004 VBA - ошибка, определяемая приложением или объектом
- Несоответствие типа VBA (ошибка времени выполнения 13). Часть 1
- Несоответствие типа VBA (ошибка времени выполнения 13). Часть 2. Исправляем ошибки
- Как использовать VBA при возобновлении работы с ошибкой Next и при ошибке Goto 0
А на этом сегодня все. 👏 Продолжение следует...
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.
📝 Нам очень важна Ваша обратная связь. Отзыв по уроку и любые вопросы пишите в комментариях.
💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)
И конечно же, за лайк 👍 и репост 🔁 данного поста благодарочка 💖 и респект 🤝 каждому!