Редактор Visual Basic - как открыть и использовать в Excel

Первым шагом к работе с VBA в Excel является ознакомление с редактором Visual Basic (также называемым редактором VBA или редактором VB).

В этом руководстве я расскажу все, что нужно знать о редакторе VBA, и некоторые полезные параметры, которые вы должны знать при кодировании в Excel VBA.

Что такое редактор Visual Basic в Excel?

Редактор Visual Basic - это отдельное приложение, которое является частью Excel и открывается всякий раз, когда вы открываете книгу Excel. По умолчанию он скрыт, и для доступа к нему необходимо активировать его.

VB Editor - это место, где вы храните код VB.

Получить код в редакторе VB можно несколькими способами:

  1. Когда вы записываете макрос, он автоматически создает новый модуль в редакторе VB и вставляет код в этот модуль.
  2. Вы можете вручную ввести код VB в редакторе VB.
  3. Вы можете скопировать код из другой книги или из Интернета и вставить его в редактор VB.

Открытие редактора VB

Открыть редактор Visual Basic в Excel можно разными способами:

  1. Использование сочетания клавиш (самый простой и быстрый)
  2. Используя вкладку разработчика.
  3. Использование вкладок рабочего листа.

Давайте быстро пройдемся по каждому из них.

Сочетание клавиш для открытия редактора Visual Basic

Самый простой способ открыть редактор Visual Basic - использовать сочетание клавиш - ALT + F11 (удерживая клавишу ALT, нажмите клавишу F11).

Как только вы это сделаете, откроется отдельное окно для редактора Visual Basic.

Этот ярлык работает как переключатель, поэтому при повторном использовании он вернет вас в приложение Excel (без закрытия редактора VB).

Ярлык для версии Mac: Opt + F11 или Fn + Opt + F11

Использование вкладки разработчика

Чтобы открыть редактор Visual Basic с ленты:

  1. Перейдите на вкладку "Разработчик" (если вы не видите вкладку "Разработчик", прочтите, как ее получить).
  2. В группе «Код» щелкните Visual Basic.

Использование вкладки рабочего листа

Это менее используемый метод открытия редактора Vb.

Перейдите на любую из вкладок рабочего листа, щелкните правой кнопкой мыши и выберите «Просмотреть код».

Этот метод не просто откроет редактор VB, он также перенесет вас в окно кода для этого объекта рабочего листа.

Это полезно, когда вы хотите написать код, который работает только для определенного рабочего листа. Обычно это происходит с событиями рабочего листа.

Анатомия редактора Visual Basic в Excel

Когда вы открываете редактор VB в первый раз, это может показаться немного подавляющим.

Существуют различные варианты и разделы, которые сначала могут показаться совершенно новыми.

Кроме того, он все еще выглядит как старый Excel 97 дней. Хотя дизайн и удобство использования Excel значительно улучшились за последние годы, редактор VB не претерпел каких-либо изменений в своем внешнем виде.

В этом разделе я познакомлю вас с различными частями приложения Visual Basic Editor.

Примечание. Когда я начал использовать VBA несколько лет назад, меня поразили все эти новые параметры и окна. Но когда вы привыкнете работать с VBA, вы освоитесь с большинством из них. И в большинстве случаев вам не нужно будет использовать все возможности, а только ручную работу.

Ниже представлены изображения различных компонентов редактора VB. Затем они подробно описаны в следующих разделах этого руководства.

Теперь давайте быстро рассмотрим каждый из этих компонентов и поймем, что он делает:

Строка меню

Здесь у вас есть все параметры, которые вы можете использовать в редакторе VB. Это похоже на ленту Excel, где у вас есть вкладки и параметры для каждой вкладки.

Вы можете изучить доступные варианты, щелкнув каждый элемент меню.

Вы заметите, что рядом с большинством параметров в редакторе VB указаны сочетания клавиш. Как только вы привыкнете к нескольким сочетаниям клавиш, работа с редактором VB станет действительно простой.

Панель инструментов

По умолчанию в редакторе VB есть панель инструментов, на которой есть несколько полезных опций, которые могут вам понадобиться чаще всего. Это похоже на панель быстрого доступа в Excel. Это дает вам быстрый доступ к некоторым полезным параметрам.

Вы можете немного настроить его, удалив или добавив к нему параметры (щелкнув небольшую стрелку, направленную вниз, в конце панели инструментов).

В большинстве случаев панель инструментов по умолчанию - это все, что вам нужно при работе с редактором VB.

Вы можете переместить панель инструментов над строкой меню, щелкнув три серые точки (в начале панели инструментов) и перетащив ее над строкой меню.

Примечание. В редакторе VB есть четыре панели инструментов - Стандартная, Отладка, Редактировать и Пользовательская форма. То, что вы видите на изображении выше (которое также используется по умолчанию), является стандартной панелью инструментов. Вы можете получить доступ к другим панелям инструментов, перейдя к параметру «Просмотр» и наведя курсор на параметр «Панели инструментов». Вы можете добавить одну или несколько панелей инструментов в редактор VB, если хотите.

Обозреватель проекта

Обозреватель проекта - это окно слева, в котором отображаются все объекты, открытые в настоящее время в Excel.

Когда вы работаете с Excel, каждая открытая книга или надстройка является проектом. И в каждом из этих проектов может быть набор объектов.

Например, на изображении ниже в Project Explorer показаны две открытые книги (Book1 и Book2) и объекты в каждой книге (рабочие листы, ThisWorkbook и Module в Book1).

Слева от объектов есть значок плюса, который можно использовать, чтобы свернуть список объектов или развернуть и просмотреть полный список объектов.

Следующие объекты могут быть частью Project Explorer:

  1. Все открытые книги - в каждой книге (которая также называется проектом) вы можете иметь следующие объекты:
    • Объект рабочего листа для каждого листа в книге
    • ThisWorkbook объект который представляет собой книгу
    • Таблица объект для каждого листа диаграммы (они не так распространены, как рабочие листы)
    • Модули - Здесь идет код, созданный с помощью средства записи макросов. Вы также можете написать или скопировать код VBA сюда.
  2. Все открытые надстройки

Рассматривайте Project Explorer как место, где отображаются все объекты, открытые в Excel в данный момент.

Сочетание клавиш для открытия Project Explorer: Ctrl + R (удерживайте контрольную клавишу, а затем нажмите R). Чтобы закрыть его, просто щелкните значок закрытия в правом верхнем углу окна Project Explorer.

Примечание. Для каждого объекта в Project Explorer есть окно кода, в котором вы можете написать код (или скопировать и вставить его откуда-нибудь). Окно кода появляется при двойном щелчке по объекту.

Окно свойств

Окно свойств - это то место, где вы можете увидеть свойства выбранного объекта. Если у вас еще нет окна «Свойства», вы можете получить его с помощью сочетания клавиш F4 (или перейдите на вкладку «Просмотр» и нажмите «Окно свойств»).

Окно свойств - это плавающее окно, которое можно закрепить в редакторе VB. В приведенном ниже примере я закрепил его чуть ниже Project Explorer.

Окно свойств позволяет нам изменять свойства выбранного объекта. Например, если я хочу сделать рабочий лист скрытым (или очень скрытым), я могу сделать это, изменив свойство Visible для выбранного объекта рабочего листа.

Связанный: Скрытие рабочего листа в Excel (который не может быть легко отсканирован)

Окно кода

Для каждого объекта, перечисленного в Project Explorer, есть окно кода. Вы можете открыть окно кода для объекта, дважды щелкнув его в области Project Explorer.

Окно кода - это то место, где вы будете писать свой код или копировать и вставлять код из другого места.

Когда вы записываете макрос, его код попадает в окно кода модуля. Excel автоматически вставляет модуль для размещения в нем кода при записи макроса.

Связанный: Как запустить макрос (код VBA) в Excel.

Немедленное окно

Окно Immediate в основном используется при отладке кода. Один из способов использования окна Immediate - использование оператора Print.Debug в коде с последующим запуском кода.

Это помогает мне отлаживать код и определять, где мой код застревает. Если я получаю результат Print.Debug в непосредственном окне, я знаю, что код работал, по крайней мере, до этой строки.

Если вы новичок в кодировании VBA, вам может потребоваться некоторое время, чтобы использовать немедленное окно для отладки.

По умолчанию непосредственное окно не отображается в редакторе VB. Вы можете получить его, используя сочетание клавиш Control + G (или можете перейти на вкладку «Просмотр» и нажать «Немедленное окно»).

Куда добавить код в редакторе VB

Я надеюсь, что теперь у вас есть общее представление о том, что такое VB Editor и какие в нем части.

В этом разделе этого руководства я покажу вам, где добавить код VBA в редактор Visual Basic.

Есть два места, где вы можете добавить код VBA в Excel:

  1. Окно кода для объекта. Этими объектами могут быть рабочая книга, рабочий лист, пользовательская форма и т. Д.
  2. Окно кода модуля.

Окно кода модуля против окна кода объекта

Позвольте мне сначала быстро пояснить разницу между добавлением кода в модуль и добавлением кода в окне объектного кода.

Когда вы добавляете код к любому из объектов, он зависит от какого-либо действия этого объекта, которое запускает этот код. Например, если вы хотите отобразить все рабочие листы в книге, как только вы откроете эту книгу, тогда код будет помещен в объект ThisWorkbook (который представляет книгу).

В данном случае триггер открывает книгу.

Точно так же, если вы хотите защитить рабочий лист, как только активируется какой-либо другой рабочий лист, код для этого будет помещен в окно кода рабочего листа.

Эти триггеры называются событиями, и вы можете связать код, который будет выполняться при возникновении события.

Связанный: Узнайте больше о событиях в VBA.

Напротив, код в модуле должен выполняться вручную (или его также можно вызывать из других подпрограмм).

Когда вы записываете макрос, Excel автоматически создает модуль и вставляет в него записанный код макроса. Теперь, если вам нужно запустить этот код, вам нужно вручную выполнить макрос.

Добавление кода VBA в модуль

При записи макроса автоматически создается модуль и вставляется в него код, однако при использовании средства записи макросов существуют некоторые ограничения. Например, он не может использовать циклы или условия If Then Else.

В таких случаях лучше либо скопировать и вставить код вручную, либо написать код самостоятельно.

Модуль может использоваться для хранения следующих типов кодов VBA:

  1. Декларации: Вы можете объявлять переменные в модуле. Объявление переменных позволяет указать, какой тип данных может содержать переменная. Вы можете объявить переменную только для подпрограммы или для всех подпрограмм в модуле (или всех модулях)
  2. Подпрограммы (процедуры): Это код, в котором есть шаги, которые вы хотите выполнить с помощью VBA.
  3. Функциональные процедуры: Это код, который возвращает одно значение, и вы можете использовать его для создания пользовательских функций (также называемых пользовательскими функциями или UDF в VBA).

По умолчанию модуль не является частью книги. Вам необходимо вставить его перед использованием.

Добавление модуля в редактор VB

Ниже приведены шаги по добавлению модуля:

  1. Щелкните правой кнопкой мыши любой объект книги (в котором вы хотите установить модуль).
  2. Наведите курсор на опцию Вставить.
  3. Щелкните по модулю.

Это мгновенно создаст папку с именем Module и вставит объект с именем Module 1. Если у вас уже есть вставленный модуль, вышеупомянутые шаги будут вставлять другой модуль.

После того, как модуль вставлен, вы можете дважды щелкнуть объект модуля в Project Explorer, и он откроет для него окно кода.

Теперь вы можете скопировать и вставить код или написать его самостоятельно.

Удаление модуля

Ниже приведены шаги по удалению модуля в Excel VBA:

  1. Щелкните правой кнопкой мыши модуль, который хотите удалить.
  2. Нажмите на опцию «Удалить модуль».
  3. В открывшемся диалоговом окне нажмите Нет.

Примечание. Вы можете экспортировать модуль перед его удалением. Он сохраняется как файл .bas, и вы можете импортировать его в другой проект. Чтобы экспортировать модуль, щелкните модуль правой кнопкой мыши и выберите «Экспорт файла».

Добавление кода в окно объектного кода

Чтобы открыть окно кода для объекта, просто дважды щелкните по нему.

Когда он откроется, вы можете ввести код вручную или скопировать и вставить код из других модулей или из Интернета.

Обратите внимание, что некоторые объекты позволяют выбрать событие, для которого вы хотите написать код.

Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка. -вниз справа.

Примечание: эти события относятся к объекту. Когда вы откроете окно кода для книги, вы увидите события, связанные с объектом книги. Когда вы откроете окно кода для рабочего листа, вы увидите события, связанные с объектом рабочего листа.

Настройка редактора VB

Хотя настройки редактора Visual Basic по умолчанию достаточно хороши для большинства пользователей, они позволяют дополнительно настраивать интерфейс и некоторые функции.

В этом разделе руководства я покажу вам все параметры, которые у вас есть при настройке редактора VB.

Чтобы настроить среду редактора VB, нажмите «Инструменты» в строке меню, а затем нажмите «Параметры».

Это откроет диалоговое окно Параметры, которое предоставит вам все параметры настройки в редакторе VB. В диалоговом окне «Параметры» есть четыре вкладки (как показано ниже), на которых можно настроить различные параметры редактора Visual Basic.

Давайте быстро рассмотрим каждую из этих вкладок и важные параметры на каждой из них.

Вкладка "Редактор"

Хотя встроенные настройки в большинстве случаев работают нормально, позвольте мне все же пройтись по параметрам на этой вкладке.

По мере того, как вы станете более опытным в работе с VBA в Excel, вы можете настроить редактор VB, используя некоторые из этих параметров.

Автоматическая проверка синтаксиса

При работе с VBA в Excel, как только вы сделаете синтаксическую ошибку, вас встретит всплывающее диалоговое окно (с некоторым описанием ошибки). Что-то вроде того, что показано ниже:

Если вы отключите эту опцию, это всплывающее окно не появится, даже если вы допустили синтаксическую ошибку. Однако цвет текста кода изменится, что укажет на наличие ошибки.

Если вы новичок, я рекомендую оставить эту опцию включенной. По мере того, как вы набираетесь опыта в программировании, вы можете начать находить эти всплывающие окна раздражающими, и тогда вы можете отключить эту опцию.

Требовать объявление переменной

Это один из вариантов, который я рекомендую включить.

Когда вы работаете с VBA, вы будете использовать переменные для хранения различных типов данных и объектов.

Когда вы включаете этот параметр, он автоматически вставляет оператор «Option Explicit» в верхнюю часть окна кода. Это заставляет вас объявить все переменные, которые вы используете в своем коде. Если вы не объявите переменную и попытаетесь выполнить код, отобразится ошибка (как показано ниже).

В приведенном выше случае я использовал переменную Var, но не объявлял ее. Поэтому, когда я пытаюсь запустить код, он показывает ошибку.

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

Примечание. Когда вы включаете этот параметр, он не влияет на существующие модули.

Автоматический член списка

Эта опция весьма полезна, поскольку помогает получить список свойств методов для объекта.

Например, если я хочу удалить лист (Sheet1), мне нужно использовать строку Sheet1.Delete.

Пока я набираю код, как только я набираю точку, он покажет мне все методы и свойства, связанные с объектом Worksheet (как показано ниже).

Функция автоматического списка хороша тем, что позволяет:

  • Быстро выберите свойство и метод из списка и сэкономьте время
  • Показывает все свойства и методы, о которых вы, возможно, не знали.
  • Избегайте орфографических ошибок

Эта опция включена по умолчанию, и я рекомендую оставить ее в таком состоянии.

Параметры автоматической быстрой информации

Когда вы вводите функцию на листе Excel, она показывает вам некоторую информацию о функции, например, аргументы, которые она принимает.

Точно так же, когда вы вводите функцию в VBA, она показывает вам некоторую информацию (как показано ниже). Но для этого вам нужно убедиться, что опция Auto Quick Info включена (что по умолчанию).

Параметры советов по автоматическим данным

Когда вы просматриваете свой код построчно и помещаете курсор над именем переменной, он покажет вам значение переменной.

Я считаю это весьма полезным при отладке кода или при просмотре кода построчно, в котором есть циклы.

В приведенном выше примере, как только я наведу курсор на переменную (var), отобразится значение, которое она содержит.

Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.

Автоматический отступ

Поскольку коды VBA могут быть длинными и беспорядочными, использование отступов увеличивает читаемость кода.

При написании кода вы можете делать отступ с помощью клавиши табуляции.

Этот параметр гарантирует, что, когда вы закончите с отступом и нажмете Enter, следующая строка не начнется с самого начала, а будет иметь тот же отступ, что и предыдущая.

В приведенном выше примере после того, как я напишу строку Debug.Print и нажму Enter, она начнется прямо под ней (с тем же уровнем отступа).

Я считаю эту опцию полезной, и ее выключение означало бы вручную отступ каждой строки в блоке кода, который я хочу иметь отступ.

При желании вы можете изменить значение отступа. Я сохраняю значение по умолчанию.

Редактирование текста перетаскиванием

Когда этот параметр включен, он позволяет выбрать блок кода и перетащить его.

Это экономит время, так как вам не нужно сначала вырезать, а потом вставлять. Вы можете просто выбрать и перетащить его.

Этот параметр включен по умолчанию, и я рекомендую вам оставить его в таком же состоянии.

По умолчанию - полный вид модуля

Когда эта опция включена, вы сможете увидеть все процедуры в модуле в одном прокручиваемом списке.

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

Этот параметр включен по умолчанию, и я рекомендую оставить его в таком же состоянии.

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

Разделитель процедур

Когда эта опция включена, вы увидите линию (своего рода разделитель) между двумя процедурами.

Я считаю это полезным, поскольку он визуально показывает, когда заканчивается одна процедура и начинается другая.

Он включен по умолчанию, и я рекомендую оставить его в таком состоянии.

Вкладка "Формат редактора"

С помощью параметров на вкладке «Формат редактора» вы можете настроить внешний вид кода в окне кода.

Лично я сохраняю все параметры по умолчанию, так как меня это устраивает. Если вы хотите, вы можете настроить это в зависимости от ваших предпочтений.

Чтобы внести изменения, вам нужно сначала выбрать параметр в поле «Цвета кода». После выбора параметра вы можете изменить для него цвет переднего плана, фона и индикатора.

На этой вкладке также можно установить тип и размер шрифта. Рекомендуется использовать шрифт фиксированной ширины, например Courier New, так как он делает код более читабельным.

Обратите внимание, что настройки типа и размера шрифта останутся одинаковыми для всех типов кода (т. Е. Для всех типов кода, показанных в поле цвета кода).

Ниже приведено изображение, на котором я выбрал точку останова и могу изменить ее форматирование.

Примечание. Параметр «Полоса индикатора полей», когда он включен, показывает небольшую полоску полей слева от кода. Это полезно, так как показывает полезные индикаторы при выполнении кода. В приведенном выше примере, когда вы устанавливаете точку останова, она автоматически показывает красную точку слева от строки на полосе полей. В качестве альтернативы, чтобы установить точку останова, вы можете просто щелкнуть полосу полей слева от строки кода, которую вы хотите использовать в качестве точки останова.

По умолчанию полоса индикатора маржи включена, и я рекомендую оставить ее в таком состоянии.

Одна из моих студенток курса VBA нашла эти параметры настройки полезными, и она была дальтоник. Используя параметры здесь, она смогла установить цвет и форматы, которые упростили ей работу с VBA.

Вкладка Общие

На вкладке «Общие» есть много параметров, но изменять их не нужно.

Я рекомендую вам оставить все параметры как есть.

Одна из важных опций, о которых следует знать на этой вкладке, - это обработка ошибок.

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

Этот параметр означает, что если ваш код обнаружит ошибку, и вы еще не обработали эту ошибку в своем коде, он сломается и остановится. Но если вы устранили ошибку (например, с помощью параметров «При ошибке возобновить следующий» или «При ошибке Перейти к»), то она не сломается (поскольку ошибки не обрабатываются).

Вкладка стыковки

На этой вкладке вы можете указать, какие окна вы хотите закрепить.

Закрепление означает, что вы можете зафиксировать положение окна (например, проводника проекта или окна свойств), чтобы оно не перемещалось, и вы могли просматривать все различные окна одновременно.

Если вы не установите док-станцию, вы сможете просматривать одно окно за раз в полноэкранном режиме, и вам придется переключаться на другое.

Я рекомендую оставить настройки по умолчанию.

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave