VBA Excel. Модуль, процедура, форма

Опубликовано: 01.09.2018

видео VBA Excel. Модуль, процедура, форма

6. "ОСНОВЫ VBA: Процедуры и функции"

Знакомство с понятиями модуль, процедура, форма в VBA Excel. Модули разных типов. Создание пользовательской формы. Встроенные диалоговые окна.



Модуль Процедура Форма

Самый простой способ перейти в редактор VBA - при активном окне программы Excel нажать сочетание клавиш Alt+F11 (здесь используется левая клавиша Alt). Это сочетание работает во всех версиях программы. Если в открывшемся окне нет слева окна проводника «Project-VBAProject», вызовите его через главное меню, выбрав «View» - «Project Explorer». Внутренние окна в редакторе VBA можно перетаскивать и размещать в других местах главного окна.


Разработка диалоговых окон (UserForm) в Excel

Модуль

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

Стандартный модуль

Стандартный модуль представляет из себя отдельный файл, встроенный в рабочую книгу Excel и принадлежащий всем объектам рабочей книги, взаимодействующим с модулями (Workbook, Worksheet, UserForm). Стандартный модуль можно экспортировать, импортировать и удалять. Его публичные процедуры с уникальными именами доступны во всех остальных модулях рабочей книги без дополнительной адресации. Для публичных процедур с неуникальными именами требуется указание имени модуля, из которого они вызываются.


Что такое модуль в VBA?

Создание стандартного модуля:

Откройте рабочую книгу Excel, в которую планируете добавить новый стандартный модуль, или создайте новую книгу в учебных целях. Откройте редактор VBA сочетанием клавиш Alt+F11. В окне редактора VBA нажмите на пункт меню «Insert» и в открывшемся списке выберите «Module».

Таким образом, вы создали новый стандартный модуль. В проводнике справа появилась папка «Modules» и в ней файл «Module1» (или «Module» с другим номером, если в вашей книге модули уже были). Такие же модули создаются при записи макросов встроенным рекордером.

Открыть или перейти в окно открытого стандартного модуля можно, дважды кликнув по его имени в проводнике, или открыв на нем правой кнопкой мыши контекстное меню и выбрав «View Code». Кроме того, все уже открытые модули доступны во вкладке «Window» главного меню.

Важное примечание: в Excel 2007-2016 книги с программными модулями сохраняются как «Книга Excel с поддержкой макросов (.xlsm)». Если вы добавили модуль в книгу «Книга Excel (.xlsx)», то, при ее сохранении или закрытии, программа Excel предложит сохранить ее как «Книга Excel с поддержкой макросов (.xlsm)», иначе изменения (созданные или импортированные модули) не сохранятся.

Модуль книги

Модуль книги принадлежит только объекту Workbook (Рабочая книга). Открыть или перейти в окно открытого модуля книги можно, дважды кликнув в проводнике на пункте «ЭтаКнига», или открыв на нем правой кнопкой мыши контекстное меню и выбрав «View Code». Кроме того, открытый модуль доступен во вкладке «Window» главного меню.

Модуль листа

Модуль листа принадлежит только объекту Worksheet (Рабочий лист). Открыть модуль листа можно, дважды кликнув в проводнике по его имени, или открыв на нем правой кнопкой мыши контекстное меню и выбрав «View Code». Кроме того, перейти в модуль листа можно из рабочей книги, кликнув правой кнопкой мыши по ярлыку этого листа и выбрав в контекстном меню «Просмотреть код». Открытый модуль доступен во вкладке «Window» главного меню.

Модуль формы

Модуль формы принадлежит только объекту UserForm (Пользовательская форма). Откройте редактор VBA сочетанием клавиш Alt+F11 и нажмите на пункт меню «Insert». В открывшемся списке выберите «UserForm». Таким образом вы создадите новую пользовательскую форму «UserForm1». В проводнике справа появилась папка «Forms» и в ней файл «UserForm1». Перейти в модуль формы можно, дважды кликнув по самой форме, или кликнув по имени формы в проводнике правой кнопкой мыши и выбрав в контекстном меню «View Code». Кроме того, открытый модуль доступен во вкладке «Window» главного меню.

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

Между открытыми окнами форм и модулей можно переходить, нажав в главном меню вкладку «Window», где перечислены все открытые модули и формы (активный объект отмечен галочкой).

Процедура

Процедуры в VBA Excel подразделяются на 3 типа:

Sub (подпрограмма), Function (функция), Property (пользовательские свойства).

Главное отличие функции от подпрограммы заключается в том, что функция возвращает результат вычислений, а подпрограмма - нет. Процедура Property предназначена для создания пользовательских свойств и управления ими (используется не часто).

В редакторе VBA Excel перейдите в стандартный модуль и нажмите на пункт меню «Insert». В открывшемся списке выберите «Procedure...». Появится окно с предложением ввести название процедуры, выбрать тип и зону видимости. Создайте пару процедур с разной зоной видимости, пусть одна будет Sub, а другая - Function. В промежутке между началом и концом процедуры пишется программный код.

Private Sub Test() 'Здесь пишется программный код End Sub

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

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

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

Первая запись:

Public Sub Test() End Sub

и вторая запись:

Sub Test() End Sub

равнозначны.

Форма

Формы в VBA Excel используются для создания диалоговых окон. Процедура создания новой формы описана в параграфе Модуль формы . Обычно, вместе с новой формой открывается панель «ToolBox» с элементами управления, которые можно добавлять на форму. Если вы закрыли панель с элементами управлениями, отобразить ее снова можно через главное меню, выбрав «View» - «ToolBox».

Стоит добавить, что в VBA Excel есть два встроенных диалоговых окна - MsgBox и InputBox .

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

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

Финансовый аналитик: новая профессия для новой экономики


Профессия будущего: Системный аналитик - профессия будущего, системный аналитик - Trend Club
Будущее - уже определено сегодня, остается только его реализовать. Что делать сегодняшнему студенту или ученику для того, чтобы получить интересную, захватывающую работу, которая будет приносить

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

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

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

Форекс брокер Альпари отзывы и обзор услуг и сервисов компании
Проголосовали: 902 За 88 %, Против 12 % За Против

Разница между науками о финансах и экономике. Экономическая статья на английском с переводом
Сайт Деловой английский www.delo-angl.ru Опубликовано: 14.04.2016 Хотя зачастую они изучаются и представляются как совершенно раздельные дисциплины, экономика и финансы, как науки, взаимосвязаны, разделяют

12 лучших сервисов для веб-аналитики
В статье вы узнаете о самых популярных инструментах для веб-аналитики, их функциональности и стоимости. И начнём мы с двух самых известных сервисов – Google Analytics и Яндекс.метрика. Вероятно, что каждый

Big Data – технология, рождающая новый тип бизнеса::БИТ 03.2014
Big Data – технология, рождающая новый тип бизнеса Главная / Архив номеров / 2014 / Выпуск №3 (36) / Big Data – технология, рождающая новый тип бизнеса Рубрика: Тема номера /  Системы хранения

Big Data и блокчейн — прорыв в области анализа данных
Постоянное ускорение роста объема данных является неотъемлемым элементом современных реалий. Социальные сети, мобильные устройства, данные с измерительных устройств, бизнес-информация

Добро пожаловать , Гость !

Мы настоятельно рекомендуем Вам зарегистрироваться, если вы ещё этого не сделали. регистрация откроет Вам новые функции.

Войти или Зарегистрироваться

www.silvio-berluskoni.ru © Все права защищены © 2016.
rss