Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как открыть редактор vba в excel

Редактор Visual Basic в Excel

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

Запуск редактора Visual Basic

Простейший способ запустить редактор Visual Basic в Excel – нажать комбинацию клавиш Alt+F11 (то есть нажать клавишу Alt и, удерживая её, нажать клавишу F11). После этого откроется окно редактора Visual Basic, как показано на картинке ниже. Имейте ввиду, что окно Excel остается открытым и находится позади окна редактора.

Окна редактора Visual Basic

В процессе работы в редакторе Visual Basic в Excel могут быть открыты различные окна. Управление окнами осуществляется в меню View, которое находится в верхней части окна редактора VBA. Ниже дано описание отдельных окон.

Окно проекта (Project)

Окно Project открывается в левой части редактора VBA (показано на картинке выше). В этом окне для каждой открытой рабочей книги создаётся проект VBA (VBA Project). Проект VBA – это набор всех объектов и модулей VBA, привязанных к текущей книге. Изначально в него входят:

  • Объект ЭтаКнига (ThisWorkbook), привязанный к книге Excel;
  • Объекты Лист (Sheet), привязанные к каждому листу текущей рабочей книги Excel.

Самостоятельно в проект можно добавить объекты Userform, Module и Class Module. Если Вы посмотрите на картинку выше, то увидите, что в проект VBA для книги Book1.xlsm добавлен объект Module с названием Module1.

Вот как можно создать новый объект Userform, Module или Class Module:

  • В окне Project выберите рабочую книгу, в которую нужно добавить объект, и кликните по ней правой кнопкой мыши.
  • В появившемся меню кликните Insert и в раскрывшемся меню выберите Userform, Module или Class Module.

Для каждого из описанных выше объектов предусмотрено специальное окно, в котором будет создаваться и храниться новый код VBA. Порядок при этом такой:

  • Код, который относится к рабочей книге, должен быть введён в соответствующий объект ЭтаКнига (ThisWorkbook);
  • Код, который относится к рабочему листу, должен быть введён в соответствующий объект Лист (Sheet);
  • Код более общего характера должен быть введён в Module;
  • Код для нового объекта должен быть введён в Class Module;
  • Если нужно создать диалоговое окно для взаимодействия с пользователем, то можно использовать Userform.

Окно кода (Code)

Двойной щелчок мышью по любому объекту в окне Project открывает соответствующее окно Code, предназначенное для ввода кода VBA с клавиатуры. На одном из приведённых выше рисунков показано окно кода для Module1.

По мере ввода кода VBA в окно Code, редактор Visual Basic следит за правильностью ввода, ищет ошибки в коде и выделяет код, который требует исправления.

Окно свойств (Properties)

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

Окно отладчика (Immediate)

Окно Immediate можно отобразить в редакторе Visual Basic через меню View > Immediate Window или нажатием комбинации клавиш Ctrl+G. Это окно помогает при отладке кода. Оно выполняет роль области вывода для отладки выражений и позволяет вычислять отдельные выражения или выполнять строки кода по одной.

Например, введите выражение “?j” и нажмите Enter – в результате будет выведено текущее значение переменной j.

Окно переменных (Locals)

Чтобы открыть окно Locals, нажмите Locals Window в меню View редактора Visual Basic. В этом окне отображаются все переменные, объявленные в текущей процедуре. Окно делится на столбцы, в которых содержатся имя, значение и тип каждой переменной, и эта информация обновляется автоматически в ходе выполнения программы. Окно Locals очень полезно при отладке кода VBA.

Читать еще:  Как отформатировать файл excel

Окно отслеживания (Watches)

Окно Watches также очень помогает при отладке кода VBA, так как в нём можно увидеть значение, тип и контекст любого отслеживаемого выражения, которое задаст пользователь. Чтобы открыть окно Watches, нажмите Watch Window в меню View редактора Visual Basic. Также окно Watches будет открыто автоматически, если задать отслеживаемое выражение.

Чтобы задать отслеживаемое выражение, нужно:

  1. Выделить выражение в редактируемом коде VBA.
  2. В меню Debug редактора VBA нажать Quick Watch.
  3. Нажать Add.

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

VBA Excel. Начинаем программировать с нуля

Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Знакомство с редактором VBA

  1. Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
  2. Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.

В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.

  1. Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.

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

Первая программа на VBA Excel

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

  1. Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

В результате откроется окно добавления шаблона процедуры (Sub).

  1. Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.

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

  1. Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .

Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

  1. Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.


Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

Работа с переменными

Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).

Читать еще:  Excel сохранение при закрытии

Пример 2
Присвоение переменным числовых значений:

Что такое VBE? Как запустить редактор VB? Что такое макрорекордер?

Visual Basic Editor (VBE) – это редактор Visual Basic, который представляет из себя компонент для создания, просмотра и редактирования как новых так и существующих модулей, содержащих программный код макросов и пользовательских форм. Инструментальными средствами редактора VB создаются пользовательские диалоговые окна, а также выполняются другие задачи, относящиеся к написанию и обслуживанию программ на языке программирования VBA.

Редактор VB содержит одни и те же возможности в Word, Excel и других приложениях пакета MS Office . Используя редактор VB в Word, фактически используется тот же редактор VB, который имеется в Excel, меняются только объекты, с которыми работает редактор. Visual Basic Editor используется для создания, просмотра, редактирования, экспорта и импорта модулей, сохраненных в каком-либо документе, шаблоне или рабочей книге (и программного кода макроса, который они содержат) а также для внесения в них разного рода изменений.

Запустить редактор VB можно одним из двух способов, либо через меню того приложения, в котором используется макрос (пункт меню различается в зависимости от версии используемого Вами пакета приложений Mircosoft Office), либо более универсальным способом, нажатием сочетания клавиш Alt+F11.

Макрорекордер (рекордер) – это средство записи действий пользователя с одновременным переводом их в программный код языка VBA. Воспроизведение записанного макроса программой ведет к выполнению каждой записанной рекордером команды точно в той последовательности, в которой их выполняли во время записи, включая все допущенные ошибки. Запуск макрорекордера осуществляется командой, расположение которой различается в зависимости от версии пакета Microsoft Office.

Независимо от того, в каком приложении Вы работаете, в Word или Excel, запись нового макроса осуществляется одним и тем же способом. Например в MS Office 2003 выбирается команда Сервис/Макрос/Начать запись, а в MS Office 2007 – Вид/Макросы/Запись макроса. И в Word и в Excel при этом отображается окно Record Macro (Запись макроса), которое используется для того, чтобы Вы могли присвоить имя новому макросу, определить место его сохранения, назначить ему сочетание клавиш для последующего быстрого запуска и внести описание макроса.

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

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

2.1 Знакомство с редактором Visual Basic

Способы запуска редактора Visual Basic, окна редактора Visual Basic

Во многих ситуациях макрорекордер очень удобен, но в реальной работе только им обойтись невозможно. Слишком много не умеет макрорекордер: он не умеет проверять значения, чтобы в зависимости от него выполнить какое-либо действие, не работает с циклами, не умеет перехватывать и обрабатывать ошибки. Он использует только ограниченный и не лучший набор объектов (например, при вводе текста в Word — чувствительный к действиям пользователя объект Selection вместо более надежного объекта Range). Макросы, которые созданы в макрорекордере, очень ограничены с функциональной точки зрения.

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

Читать еще:  Выбор листа excel vba

В этой главе мы рассмотрим возможности редактора Visual Basic и познакомимся с тем, что можно сделать в его многочисленных окнах.

Внимание! Для создания программ, которые используют возможности объектных моделей приложений Microsoft Office, использовать язык VBA и редактор Visual Basic совсем не обязательно. Вы вполне можете создавать такие программы на любом COM-совместимом языке, например, обычном Visual Basic C++, Delphi, Java, VBScript и JavaScript, ActivePerl, C#, Visual Basic. NET и т.п. Однако язык VBA (и редактор Visual Basic) изначально создавались для автоматизации приложений Microsoft Office, и работать из них с объектными моделями приложений Microsoft Office удобнее всего.

Прежде чем начать работать с редактором Visual Basic, нужно его открыть. Во всех приложениях Office это делается одинаково:

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

Рис. 2.1 Окно редактора Visual Basic в Excel

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

Всего в редакторе Visual Basic предусмотрены 9 окон:

  • ProjectExplorer — окно проводника проекта. По умолчанию оно открыто и находится в левой части окна редактора Visual Basic. В нем можно просмотреть компоненты проекта и выполнить с ними множество операций. Подробнее о возможностях работы в этом окне — в следующем разделе этой главы;
  • UserForm — окно формы. Появляется тогда, когда вы редактируете пользовательскую форму из окна дизайнера формы. Подробнее про пользовательские формы и работу с ними — в главе 5 этой книги.
  • Toolbox — панель инструментов управления. Из него можно добавить элементы управления в форму или в документ. Появляется вместе с окном дизайнера форм и рассматривается в той же главе для формы.
  • Properties — одно из самых важных окон. Через него можно просмотреть свойства элемента управления или компонента проекта и их изменить. Он нем — в этой главе.
  • Code — окно программного кода. В этом окне выполняется основная работа по написанию кода макроса. При открытии программного модуля открывается автоматически. Приемы работы с этим окном будут рассмотрены в этой главе.
  • ObjectBrowser — обозреватель объектов. Необходим для получения информации о классах, доступных программе. Подробная информация — в главе 4 этой книги, которая посвящена работе с объектами.
  • Watch — окно контролируемых выражений. Используется во время отладки для отслеживания значений выбранных переменных программы и выражений. Работа в этом окне, так же, как работа с окном Locals и Immediate, будет рассмотрена в главе 6, в которой рассказывается про перехват ошибок и отладку.
  • Locals — окно локальных переменных. Нужно для отслеживания во время отладки значений переменных текущей процедуры.
  • Immediate — возможность опять-таки при отладке выполнить отдельные строки программного кода и немедленно получить результат.

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

И еще один момент, который для многих пользователей может оказаться разочаровывающим. В русских версиях приложений Office для редактора Visual Basic предусмотрен англоязычный интерфейс. Справка по языку VBA и объектным моделям приложений Office — тоже только на английском. К сожалению, русифицированных вариантов не существует. Однако, по моим наблюдениям, знание английского языка для того, чтобы писать программы в VBA, не критично (хотя и очень полезно): программы вполне можно создавать и не зная английского.

Ссылка на основную публикацию
Adblock
detector