Окно immediate excel как открыть
Type or paste a line of code and press ENTER to run it.
Copy and paste the code from the Immediate window into the Code window, but does not allow you to save code in the Immediate window.
The Immediate window can be dragged and positioned anywhere on your screen unless you have made it a dockable window from the Docking tab of the Options dialog box.
You can close the window by selecting the Close box. If the Close box is not visible, double-click the title bar to make the Close box visible, and then select it.
In break mode, a statement in the Immediate window is executed in the context or scope that is displayed in the Procedure box. For example, if you type Printvariablename, your output is the value of a local variable. This is the same as if the Print method had occurred in the procedure you were executing when the program halted.
Keyboard shortcuts
Use these key combinations in the Immediate window.
Press | To |
---|---|
ENTER | Run a line of selected code. |
CTRL+C | Copy the selected text to the Clipboard. |
CTRL+V | Paste the Clipboard contents at the insertion point. |
CTRL+X | Cut the selected text to the Clipboard. |
CTRL+L | Display Call Stack dialog box (break mode only). |
F5 | Continue running an application. |
F8 | Execute code one line at a time (single step). |
SHIFT+F8 | Execute code one procedure at a time (procedure step). |
DELETE or DEL | Delete the selected text without placing it on the Clipboard. |
F2 | Display the Object Browser. |
CTRL+ENTER | Insert carriage return. |
CTRL+HOME | Move the cursor to the top of the Immediate window. |
CTRL+END | Move the cursor to the end of the Immediate window. |
SHIFT+F10 | View shortcut menu. |
ALT+F5 | Runs the error handler code or returns the error to the calling procedure. Does not affect the setting for error trapping on the General tab of the Options dialog box. |
ALT+F8 | Steps into the error handler or returns the error to the calling procedure. Does not affect the setting for error trapping on the General tab of the Options dialog box. |
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Ввести или вставить строку кода и нажать клавишу ВВОД для ее выполнения.
Копирование и вклейка кода из ближайшего окна в окно Кода, но не позволяет сохранять код в немедленном окне.
Немедленное окно можно перетаскить и расположить в любом месте на экране, если только вы не сделали его док-окном из вкладки Стыковка диалогового окна Options .
Окно можно закрыть, выбрав поле Закрыть . Если окно Закрыть не видно, дважды щелкните заголовок, чтобы сделать окно Close видимым, а затем выберите его.
В режиме перерыва выполняется утверждение в окне Immediate в контексте или области, отображаемом в поле Процедуры. Например, если введите имя Printvariablename, то выход — это значение локальной переменной. Это аналогично использованию метода Print в процедуре, выполнявшейся во время остановки программы.
Сочетания клавиш
Используйте эти комбинации ключей в окне Immediate.
Сочетание клавиш | To |
---|---|
ВВОД | Запуск строки выбранного кода. |
CTRL+C | Копирование выбранного текста в буфер обмена. |
CTRL+V | Вставка содержимого буфера обмена в точку вставки. |
CTRL+X | Вырезание выбранного текста в буфер обмена. |
CTRL+L | Отображение диалогового окна стеком вызовов (только режим перерыва). |
F5 | Продолжение работы приложения. |
F8 | Выполнение одной строки кода за раз (один шаг). |
SHIFT+F8 | Выполнение одной процедуры кода за раз (шаг процедуры). |
DELETE или DEL | Удаление выбранного текста без размещения его в буфере обмена. |
F2 | Отображение браузера объектов. |
CTRL+ENTER | Вставка возврата каретки. |
CTRL+HOME | Перемещение курсора в верхнюю часть окна Интерпретация. |
CTRL+END | Перемещение курсора в конец окна Интерпретация. |
SHIFT+F10 | Просмотр контекстного меню. |
ALT+F5 | Запускает код обработчика ошибок или возвращает ошибку вызывающей процедуре. Не влияет на настройку перехвата ошибок на вкладке Общие диалогового окна Параметры. |
ALT+F8 | Выполняет пошагово обработку ошибок или возвращает ошибку вызывающей процедуре. Не влияет на настройку перехвата ошибок на вкладке Общие диалогового окна Параметры. |
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Отображается на экране окно Immediate сочетанием клавиш Ctrl+G или через меню редактора VBA: View → Immediate Window.
Проверка строк кода в Immediate
Чтобы протестировать выполнение отдельных строк кода VBA Excel в окне Immediate необходимо:
- ввести строку кода в окне Immediate,
- нажать клавишу Enter.
Код в окне Immediate можно вводить с использованием контекстных подсказок и выбором из них объектов, свойств и методов, точно так же, как и непосредственно в модуле VBA. Можно строку кода скопировать из процедуры и вставить в окно Immediate из буфера обмена. При нажатии клавиши Enter курсор может находитmся в любом месте проверяемой строки.
Пример 1
Откройте окно Immediate, вставьте в него строку
и нажмите Enter. В первые пять ячеек первого столбца активного листа Excel будет записана строка «Тестируем окно Immediate». Таким же образом будет выполняться любая тестируемая строка вашего кода VBA.
Проверка значений переменных
Для отображения в окне Immediate значений переменных используется метод Print класса Debug (Debug.Print). Рассмотрим работу этого метода сразу на примере.
Пример 2
Помечаем маркерами строки с ключевой фразой Debug.Print, кликнув по левому полю напротив нужных строк, чтобы в этих местах остановить исполнение кода. Строка с маркером, на котором остановилась программа, будет выполнена после очередного нажатия кнопки Run Macro или клавиши F5.
Результаты выполнения кода смотрите на изображении:
Проверка значений переменных
Если при размещении нескольких элементов после ключевой фразы Debug.Print не указать разделитель, редактор VBA при запуске кода на выполнение автоматически вставит между элементами разделитель «точка с запятой». Сравните с результатом использования в качестве разделителя символа «запятая».
При работе с переменными можно изменять их значение непосредственно в окне Immediate. Введите строку с присвоением переменной нового значения и нажмите клавишу Enter. Значение переменной будет перезаписано.
Пример 3
Пример изменения значения переменной в окне Immediate во время исполнения кода VBA Excel:
Итог: узнайте несколько способов, как показать несколько листов одновременно с помощью макроса VBA или надстройки.
Уровень мастерства: Средний
Не удается отобразить несколько листов в Excel?
Как вы, вероятно, знаете, вы не можете отобразить два или более листов одновременно в Excel. Меню «Показать» позволяет выбрать только один лист за раз.
Это может сделать процесс показа нескольких листов очень трудоемким, особенно если вы хотите отобразить все листы в рабочей книге. Поэтому в этой статье мы рассмотрим несколько разных способов быстрого отображения листов.
Самый быстрый способ сделать все листы видимыми в Excel — это использовать макрос (VBA). В следующей строке кода VBA цикл For Next Loop используется для циклического просмотра каждого листа в активной книге и отображения каждого листа.
For Each ws In Sheets:ws.Visible=True:Next
Вы можете запустить этот код в непосредственном окне редактора VB в три простых шага:
- Alt + F11 (открывает окно редактора VB)
- Ctrl + G (открывает немедленное окно)
- Вставьте следующую строку кода в Immediate Window и нажмите Enter
For Each ws In Sheets:ws.Visible=True:Next
Скриншот ниже показывает, как реализовать эти шаги.
Эта строка кода проходит по всем рабочим листам в рабочей книге и устанавливает для каждого видимого свойства листа значение «True». Это делает каждый лист видимым, что аналогично отображению каждого листа.
Символ двоеточия «:», используемый в коде, позволяет объединить несколько строк кода в одну строку. Это позволяет запускать в «Немедленном окне», потому что «Немедленное окно» оценивает только одну строку кода за раз.
Макрос ниже — это та же самая строка кода, но она разбита на несколько строк. Это значительно облегчает чтение и понимание.
Строки в приведенном выше коде, начинающиеся с «For» и «Next», представляют оператор цикла For-Next. Первая строка «For Each ws In ActiveWorkbook.Worksheets» указывает макросу циклически проходить по каждому листу в коллекции рабочих листов.
Эта строка также ссылается на переменную «ws» и устанавливает ее для представления объекта рабочего листа. Это означает, что «ws» временно представляет текущий рабочий лист в цикле.
Когда вводится строка кода «Next ws», макрос переходит обратно к первой строке кода в цикле и снова оценивает ее. Он продолжает циклически перебирать все листы в коллекции рабочих листов (Activeworkbook.Worksheets).
Затем мы можем использовать «ws» внутри цикла, чтобы изменить свойства текущего рабочего листа. В этом случае мы устанавливаем свойство «Видимый» листа, чтобы оно было видимым (xlSheetVisible). Свойство visible имеет три различных свойства на выбор:
Вы также можете установить для свойства значение «True», которое работает так же, как xlSheetVisible.
Вот документация по VBA Visible property от Microsoft. И ознакомьтесь с моей статьей the For Next Loop для подробного объяснения того, как это работает.
Показать листы, которые содержат определенное имя
Что, если мы хотим только показать листы, которые содержат слово «pivot» в названии листа?
Мы можем добавить простую инструкцию IF в макрос только для отображения листов, которые содержат определенное имя или текст.
Функция InStr ищет текст в строке и возвращает позицию первого вхождения текста. Это сокращение от InString, и функция аналогична функциям ПОИСК или НАЙТИ в Excel.
Таким образом, в этом случае мы ищем любой лист, который содержит слово «pivot» в названии листа. Ссылка «ws.name» возвращает имя листа, который в данный момент оценивается в цикле For-Next.
Таким образом, эта строка «Если InStr (ws.Name,« pivot »)> 0 Тогда» в основном говорит, что если в имени листа найдено слово «pivot», то функция Instr вернет число больше нуля. Оператор IF будет иметь значение True, и будет выполнена следующая строка кода, чтобы отобразить лист.
Если слово «pivot» НЕ найдено в имени листа, тогда оператор IF будет иметь значение «False», а код пропустит все строки, пока не достигнет строки «End If». Поэтому лист, который в данный момент оценивается в цикле, сохранит свое текущее свойство visible (видимое или скрытое).
Этот макрос отлично работает, если вы скрываете и скрываете листы каждый день / неделю / месяц для сохраняемого вами отчета. Запустите макрос, чтобы отобразить определенные листы при открытии книги. После того, как вы закончите, запустите тот же код, но измените свойство visible на xlSheetHidden, чтобы заново скрыть листы (для этого вы можете создать новый макрос).
Если весь этот код заставляет вас вращаться, надстройка Tab Hound позволяет отображать несколько листов одним нажатием кнопки просмотра.
Скриншот ниже показывает, насколько это просто.
В окне Tab Hound содержится список всех листов рабочей книги. Вы можете выбрать несколько листов в списке, а затем нажать кнопку «Показать», чтобы отобразить все выбранные листы.
Это делает процесс показа нескольких листов действительно быстрым!
Вкладка Hound также содержит дополнительные способы фильтрации списка листов. Вы можете ввести поиск в поле поиска, отфильтровать все видимые или скрытые вкладки и даже отфильтровать по цвету вкладок. Это позволяет легко находить листы, которые вы ищете, а затем выполнять над ними такие действия, как скрытие / скрытие.
В этом видео также показано, как быстро скрыть и показать несколько листов с помощью Tab Hound
Нажмите здесь, чтобы узнать больше о Tab Hound
Публикация отчетов? Управление вкладками сэкономит ваше время
Если вы создаете еженедельные или ежемесячные отчеты и хотите убедиться, что все нужные листы спрятаны перед отправкой, надстройка Tab Control может сэкономить вам много времени.
Вот сценарий, с которым мы обычно сталкиваемся …
Нам необходимо обновить рабочую книгу новыми данными на этой неделе и внести некоторые изменения, прежде чем отправлять ее по электронной почте. Эти обновления требуют от нас показать несколько листов, внести изменения, а затем снова скрыть листы. Это может занять много времени, если вам нужно скрыть / показать много листов.
Вкладка «Управление» установит контрольный лист в вашей рабочей книге со списком всех имен рабочих листов. Вы можете установить видимое свойство для каждого листа в списке, а затем нажать кнопку, чтобы скрыть или показать все листы на основе списка.
Надстройка Tab Control входит в состав Tab Hound.
Нажмите здесь, чтобы узнать больше о Tab Hound
Заключение
Для одновременного отображения нескольких листов в Excel потребуется код или макрос. Есть еще один способ использования пользовательских представлений, но он имеет ограничения, если вы используете таблицы Excel (а я люблю таблицы).
Надеюсь, вы узнали некоторый код VBA, который вы можете реализовать. Вы также можете добавить макросы в личную книгу макросов, чтобы запускать их в любое время.
Если кодирование не ваша вещь, оцените надстройку Tab Hound. Это сэкономит ваше время и сделает вашу жизнь намного проще. (беспроигрышный вариант!)
VBA Immediate Window является удивительным инструментом, который позволяет получить моментальные ответы о ваших файлах Excel, и быстро выполнить код. Он встроен в редактор Visual Basic и имеет множество различных применений, которые могут быть очень полезны при написании макросов, отладке кода и отображении результатов кода.
Каждый пользователь Excel может получить выгоду от Immediate Window, даже если вы не пишете макросы. Эта статья расскажет про 5 различных применений Immediate Window. Как только вы поймете возможности этого инструмента, вы будете использовать его постоянно.
Где находится Immediate Window?
Immediate Window находится в окне редактора Visual Basic.
Самый быстрый способ добраться до Immediate Window — это:
- Нажмите Alt + F11 (удерживая клавишу Alt , затем нажмите клавишу F11 ) из любой места Excel. Откроется окно редактора Visual Basic. (Mac версия Fn + Alt + F11 )
- Нажатие Ctrl + G открывает окно Immediate и помещает текстовый курсор в него. Начните вводить свой код. (Версия для Mac — Ctrl + Cmd + G )
Когда вы откроете VB Editor ( Alt + F11 ), вы можете увидеть, что Immediate Window автоматически появляется в правом нижнем углу. Это его местоположение по умолчанию. Если его там нет, вы можете нажать Ctrl + G или меню View> Immediate Window.
Эта пустая коробка волшебна!
Когда вы щелкнете внутри Immediate Window, вы увидите пустое поле с мигающим текстовым курсором. На первый взгляд это не слишком увлекательно, но Immediate Window может быть очень мощным и полезным инструментом.
Думайте об этом, как о пустой ячейке на листе. Довольно скучно, пока вы не добавите формулу, верно?
Итак, давайте рассмотрим 5 примеров, которые помогут вам извлечь максимальную пользу из этой волшебной коробки.
Простейшее использование Immediate Window — это быстрое получение информации о Excel-файле, который в данный момент открыт и активен в фоновом режиме. Вы можете проверить любую строку кода VBA в Immediate Window, и она сразу же даст вам результат.
Например, чтобы узнать, сколько листов в активной книге, введите следующую строку кода в Immediate Window и нажмите клавишу «Enter».
Ответ будет отображен в следующей строке Immediate Window, прямо под кодом.
Задайте вопрос, любой вопрос …
Помещение знака вопроса (?) в начале оператора говорит Immediate Window, что мы задаем ему вопрос и ожидаем результата.
В следующем скриншоте показано несколько примеров того, как мы можем использовать Immediate Window для получения значения, формата чисел и цвета заливки активной ячейки.
Обратите внимание, что Immediate Window отображает интеллектуальные подсказки в тот момент, когда я печатаю. Intellisense — это раскрывающееся меню, в котором отображаются свойства и методы объекта, на который я ссылаюсь. Это позволяет очень быстро и легко вводить код в Immediate Window.
Вам не нужно писать целый макрос, если вам достаточно выполнить одну строку кода в вашей книге.
Удалите знак вопроса в начале оператора, и Immediate Window выполнит эту строку кода.
На изображении выше показано, как отформатировать выделенные ячейки с помощью выравнивания по центру выделения.
Вы также можете использовать следующую строку кода, чтобы сделать лист «очень скрытым».
Другой пример — скрыть содержимое ячейки, сделав цвет шрифта таким же, как цвет заливки (фона).
Я использую эту строку кода в инструменте оглавления Tab Hound, чтобы скрыть некоторые настройки, хранящиеся в ячейке A1. Даже если пользователь изменит цвет заливки листа, содержимое в ячейке A1 все равно будет скрыто после выполнения кода.
Вы можете запустить макрос из Immediate Window, введя имя макроса (процедура) и нажав Enter.
Конечно, вы также можете сделать это, нажав клавишу F5 или кнопку «Выполнить макрос» в VB Editor, но что если ваш макрос содержит аргументы?
Макрос не может быть запущен изнутри процедуры, если он содержит аргументы. Тем не менее, вы можете вызвать макрос из непосредственного окна.
Пример ниже представляет собой простой макрос, который вводит текущую дату (сейчас) в ячейку и меняет цвет шрифта на синий (Color = vbBlue). Этот макрос требует, чтобы для запуска ему было передано два аргумента: имя листа и адрес ячейки, где будет введена отметка даты.
Для такого макроса вы обычно будете вызывать его из другого макроса и указывать аргументы в макросе, который его вызывает. Но если вы просто хотите протестировать макрос, содержащий аргументы, вы можете использовать Immediate Window для его вызова.
Это отлично подходит для написания и отладки кода. Возможно, вы не захотите запускать весь стек процедур (макросов) в коде, но вы можете использовать Immediate Window, чтобы вызывать только тот конкретный макрос, над которым вы работаете.
В приведенном выше примере показано, как можно указать аргументы после имени макроса. Для аргументов, которые являются строковыми переменными (текст), вам необходимо заключить переменную в кавычки.
Как вы можете видеть на изображении, интеллектуальный помощник доступен в Immediate Window, что позволяет легко указать аргументы для макроса.
Вы когда-нибудь видели в Интернете код VBA, в котором есть строка, подобная следующей?
«xxxxx» являются некоторой переменной, которую код вычисляет или производит.
Пример ниже представляет собой макрос, который проходит по всем листам в книге и проверяет, является ли каждый лист пустым (не используется). Если лист пустой, он отображается в окне Immediate Window с помощью Debug.Print.
Конечная цель этого макроса может состоять в том, чтобы удалить все пустые листы в книге, но мы могли бы сначала протестировать код перед тем, как фактически удалить какие-либо листы.
Строка Debug.Print создает список пустых листов в Immediate Window, и затем мы можем вручную проверить каждый из этих листов, чтобы убедиться, что они действительно пустые.
В следующем примере показан макрос, который создает список всех листов в активной книге. Существует множество различных способов написания этого кода, но в этом примере я использую переменную «lSht» в цикле «For Next» для циклического перемещения по рабочим листам, а затем добавляю имя листа на активный лист.
Я добавил точку останова (F9) в коде, чтобы приостановить код при выполнении этой строки. Когда код приостановлен, Immediate Window можно использовать для оценки или изменения переменных. На изображении выше я использовал знак вопроса, чтобы проверить значение переменной lSht. Затем я использовал переменную, чтобы получить имя листа, который в данный момент обрабатывается в цикле.
Наконец, я изменил переменную lSht на 5, используя знак равенства (lSht = 5). Это эффективно пропустит некоторые листы в цикле, потому что я изменил переменную с 2 на 5.
Это простой пример, но Immediate Window может пригодиться при пошаговом выполнении кода.
Открепить Immediate Window
Если вы хотите узнать, как я заставил Immediate Window плавать поверх приложения Excel на некоторых скриншотах.
Этот скринкаст покажет вам, как вы можете отсоединить Immediate Window.
Вот пошаговые инструкции:
- Щелкните левой кнопкой мыши и удерживайте верхнюю панель Immediate Window.
- Перетащите его из окна VB Editor. Immediate Window становится свободным плавающим окном, которое вы можете поместить поверх Excel.
- Чтобы повторно закрепить его, дважды щелкните на верхней панели окна.
Вы можете сделать это с любым из окон в редакторе VB, включая окна Project, Properties, Locals и Watch. Многие разработчики настраивают VB Editor не так, как макет по умолчанию. Некоторые предпочитают, чтобы окна проекта и свойств располагались справа, а не слева. Окно VB Editor дает вам большую гибкость для настройки вашего представления.
Заключение
Immediate Window — очень универсальный инструмент, который действительно может помочь при написании и отладке макросов. Это отличный способ получить быстрые ответы о вашем файле или приложении. Если вы новичок в VBA, Immediate Window будет очень полезен, когда вы начнете изучать и писать код.
Читайте также: