Окно Immediate используется в VBA Excel при написании и отладке процедур для тестирования отдельных строк кода, проверки текущих значений переменных и в качестве калькулятора.
Отображается на экране окно Immediate сочетанием клавиш Ctrl+G или через меню редактора VBA: View → Immediate Window.
Проверка строк кода в Immediate
Чтобы протестировать выполнение отдельных строк кода VBA Excel в окне Immediate необходимо:
- ввести строку кода в окне Immediate,
- нажать клавишу Enter.
Код в окне Immediate можно вводить с использованием контекстных подсказок и выбором из них объектов, свойств и методов, точно так же, как и непосредственно в модуле VBA. Можно строку кода скопировать из процедуры и вставить в окно Immediate из буфера обмена. При нажатии клавиши Enter курсор может находиться в любом месте проверяемой строки.
Пример 1
Откройте окно Immediate, вставьте в него строку
1 |
Range("A1:A5") = "Тестируем окно Immediate" |
и нажмите Enter. В первые пять ячеек первого столбца активного листа Excel будет записана строка «Тестируем окно Immediate». Таким же образом будет выполняться любая тестируемая строка вашего кода VBA.
Проверка значений переменных
Для отображения в окне Immediate значений переменных используется метод Print класса Debug (Debug.Print). Рассмотрим работу этого метода сразу на примере.
Пример 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 как калькулятором введите в нем ключевое слово «Print» или символ «?», затем вычисляемое выражение и нажмите клавишу Enter. При таких вычислениях пробелы в выражениях игнорируются.
Как видно на изображении, в окне Immediate можно вычислять не только математические выражения, но и получать значения встроенных функций VBA и рабочего листа Excel.
Количество строк в окне Immediate
Согласно проведенным опытам, максимальное количество строк в окне Immediate составляет 201 позицию: двести строк с данными и одна — пустая. При заполнении пустой строки, под ней добавляется новая пустая строка, а первая (верхняя) строка с данными исчезает.
Таким образом, максимальная вместимость окна Immediate ограничена 200 строками с данными. Это замечание актуально при выведении больших объемов информации с помощью метода Debug.Print
. Допустимое количество знаков в одной строке — 950. Тестирование проводилось в VBA Excel 2016.
Кроме рассмотренных, в меню редактора Visual Basic в Excel существует ещё множество параметров и команд, используемых при создании, выполнении и отладке кода VBA.
Обсуждение закрыто.