Процесс локализации и исправления ошибок называется отладкой (debugging). VBA предлагает богатый набор средств отладки. К ним относятся:
- окно быстрого выполнения Immediate,
- наблюдение за значениями переменных,
- точки останова,
- пошаговое выполнение кода.
Чтобы исследовать процесс отладки на практике, нам необходим какой-нибудь код. Создадим процедуру, содержащую ошибку.
- Закройте все открытые книги.
- Откройте новую рабочую книгу.
- Нажмите комбинацию клавиш <Alt+F11> для открытия редактора Visual Basic.
- Вставьте модуль в текущую рабочую книгу.
- Создайте новую процедуру и назовите ее Ошибка.
- Введите код этой процедуры
Dim response
response = Application.InputBox("Введите ваше имя")
If response = "" Then
MsgBox "Процедура завершена"
Exit Sub
Else
MsgBox "Ваше имя - " & response
End If
- Выполните процедуру. В окне ввода введите ваше имя и нажмите клавишу <Enter>. Появится окно сообщения, содержащее ваше имя. Итак, пока процедура работает как надо.
- Щелкните на кнопке ОК для закрытия окна сообщения.
- Нажмите <F5> для повторного выполнения процедуры.
- В окне ввода щелкните на кнопке Отмена. Что получилось? Получили окно сообщение, что ваше имя False! Но должны были получить окно сообщения, что процедура завершена!
- Щелкните на кнопке ОК для удаления окна сообщения.
Итак, процедура работает неправильно. Она определенно содержит ошибку, но как найти эту ошибку? На примере этой процедуры мы рассмотрим различные методы отладки.