Перейти к содержимому

VBA Excel. Окно Immediate (отладка кода, вычисления)

Окно Immediate используется в VBA Excel при написании и отладке процедур для тестирования отдельных строк кода, проверки текущих значений переменных и в качестве калькулятора.

  1. Проверка строк кода в Immediate
  2. Проверка значений переменных
  3. Окно Immediate как калькулятор

Отображается на экране окно Immediate сочетанием клавиш Ctrl+G или через меню редактора VBA: View → Immediate Window.

Проверка строк кода в Immediate

Чтобы протестировать выполнение отдельных строк кода VBA Excel в окне Immediate необходимо:

  • ввести строку кода в окне Immediate,
  • нажать клавишу Enter.

Код в окне Immediate можно вводить с использованием контекстных подсказок и выбором из них объектов, свойств и методов, точно так же, как и непосредственно в модуле VBA. Можно строку кода скопировать из процедуры и вставить в окно Immediate из буфера обмена. При нажатии клавиши Enter курсор может находитmся в любом месте проверяемой строки.

Пример 1
Откройте окно Immediate, вставьте в него строку

Range("A1:A5") = "Тестируем окно Immediate"

и нажмите Enter. В первые пять ячеек первого столбца активного листа Excel будет записана строка «Тестируем окно Immediate». Таким же образом будет выполняться любая тестируемая строка вашего кода VBA.

Проверка значений переменных

Для отображения в окне Immediate значений переменных используется метод Print класса Debug (Debug.Print). Рассмотрим работу этого метода сразу на примере.

Пример 2

Sub Primer2()
Dim a As Byte, b As Byte, c As Byte
a = 15
b = (a + 35) / 5
c = a * b - 50
'Каждая переменная в отдельной строке:
Debug.Print a
Debug.Print b
Debug.Print c
'Все переменные в одной строке
'с разделителем "точка с запятой":
Debug.Print "a = " & a; "b = " & b; _
"c = " & c
'с разделителем "запятая":
Debug.Print "a = " & a, "b = " & b, _
"c = " & c
End Sub

Помечаем маркерами строки с ключевой фразой Debug.Print, кликнув по левому полю напротив нужных строк, чтобы в этих местах остановить исполнение кода. Строка с маркером, на котором остановилась программа, будет выполнена после очередного нажатия кнопки Run Macro или клавиши F5.

Результаты выполнения кода смотрите на изображении:

Проверка значений переменных
Проверка значений переменных

Если при размещении нескольких элементов после ключевой фразы Debug.Print не указать разделитель, редактор VBA при запуске кода на выполнение автоматически вставит между элементами разделитель "точка с запятой". Сравните с результатом использования в качестве разделителя символа "запятая".

При работе с переменными можно изменять их значение непосредственно в окне Immediate. Введите строку с присвоением переменной нового значения и нажмите клавишу Enter. Значение переменной будет перезаписано.

Пример 3
Пример изменения значения переменной в окне Immediate во время исполнения кода VBA Excel:

Sub Primer3()
Dim a As Variant
a = WorksheetFunction.Pi
Debug.Print a
'Вводим в окне Immediate строку
'a = "Сейчас число Пи округлим"
'нажимаем Enter и далее F5
Debug.Print a
'Вводим в окне Immediate строку
'a = 3.14
'нажимаем Enter и далее F5
Debug.Print a
End Sub

В этом примере переменной a присваивается значение числа Пи. Далее мы непосредственно в окне Immediate дважды меняем значение этой переменной. Маркер остановки исполнения кода ставим на второй и третьей строке Debug.Print a. Результаты смотрите на изображении:

Изменение значения переменной в окне Immediate
Изменение значения переменной в окне Immediate

Окно Immediate как калькулятор

Чтобы воспользоваться окном Immediate как калькулятором введите в нем ключевое слово «Print» или символ «?», затем вычисляемое выражение и нажмите клавишу Enter. При таких вычислениях пробелы в выражениях игнорируются.

Вычисления в окне  Immediate
Вычисления в окне Immediate

Как видно на изображении, в окне Immediate можно вычислять не только математические выражения, но и получать значения встроенных функций VBA и рабочего листа Excel.

VBA Excel. Окно Immediate (отладка кода, вычисления): 1 комментарий

  1. Кулеры для воды

    Кроме рассмотренных, в меню редактора Visual Basic в Excel существует ещё множество параметров и команд, используемых при создании, выполнении и отладке кода VBA.

Добавить комментарий

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