Непосредственное окно VBA используется для быстрого запуска строк кода VBA, а также для получения информации о вашем коде или файле Excel … Этот инструмент позволяет тестировать отдельные строки кода, что полезно при написании и отладке кода. Выходные данные отображаются в окне «Немедленное».
Отображение непосредственного окна
Сначала вам нужно отобразить Immediate Window. Для этого нажмите Alt-F11 войти в Редактор Visual Basic. После того, как вы вставили модуль. Нажмите Ctrl-G для просмотра Немедленное окно.
Вы должны увидеть следующее:
Выполнение строк кода
Одна из вещей, которые позволяет вам сделать Immediate Window, - это проверить строку кода. Следующий код покажет вам, как использовать Immediate Window для заполнения ячейки A1 активного листа светло-оранжевым цветом заливки. Введите следующую строку и нажмите Enter на клавиатуре:
1 | Диапазон ("A1"). Interior.Color = RGB (246, 174, 134) |
Результат:
Вопросы и ближайшее окно
Вы можете использовать Immediate Window, чтобы получить информацию о своей книге. Вы можете сделать это с помощью вопросительного знака. Если вы вводите утверждение, которому предшествует вопросительный знак, то в окне немедленного ответа будет предоставлен соответствующий ответ. Допустим, у вас есть цифра 5 в выбранной ячейке A1. Следующий код позволит вам использовать Immediate Window для получения этого значения:
1 | ? ActiveCell.Value |
Результат:
Запуск макроса из непосредственного окна
Вы можете запустить макрос из окна Immediate Window, введя имя макроса и нажав Enter. Если ваш макрос содержит аргументы, вы можете использовать Immediate Window и передать аргументы макросу через Immediate Window. В следующем коде показано, как вызвать макрос с именем CountWorksheets из окна Immediate Window:
1 | CountWorksheets |
После нажатия Enter результат отображается на листе в ячейке A1.
Использование Debug.Print
Вы можете использовать Debug.Print как часть подпроцедур, и это сообщает окну Immediate Window, что нужно отображать определенную информацию. Это используется, когда вы не хотите отображать значения или результаты в ячейке самой книги или в окне сообщения. Следующий код использует оператор Debug.Print как часть подпроцедуры и отображает результаты в окне Immediate Window.
12345678910 | Sub UsingDebugPrint ()Dim FirstName As StringУменьшить фамилию как строкуFirstName = "Джейн"LastName = "Уильямс"Debug.Print FirstName & "" & LastNameКонец подписки |
Результат, когда вы нажимаете F5 для запуска макроса, отображается в окне немедленного доступа:
Использование немедленного окна при запуске кода
Вы также можете использовать Immediate Window для установки или получения значения переменной во время пошагового выполнения кода:
1234567891011 | Sub GettingAndSettingVariableValues ()Dim LName As StringDim SName As StringТусклый возраст как целое числоLName = "Джон"SName = "Смит"Возраст = 31Конец подписки |
В следующем коде есть точка останова, которая вставляется, как показано ниже:
Если вы введете? SName в окне Immediate Window при входе в код с помощью F8, в точке останова вы получите следующий результат: