Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1888.DOC
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
5.52 Mб
Скачать

Раздел 6. Введение в vba для excel

6.1. Интегрированная среда разработки vba для Excel

6.1.1. Создание функции пользователя в vba

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

6.1.2. Редактор vba

Пользовательские функции создаются в стандартном модуле редактора VBA. Для того чтобы попасть в редактор VBA, нужно выбрать в меню Excel команду Сервис Макрос Редактор Visual Basic или нажать комбинацию клавиш Alt+F11. В результате вы попадете в интегрированную среду разработки приложений VBA (рис. 6.1).

Рис. 6.1. Интегрированная среда VBA

Она имеет стандартный вид для Windows-приложений: строка меню, панель инструментов (в данном случае Standard) и два окна Project – VBAProject и Properties. Пока нас интересует только окно Project – VBAProject. В нем отображается реестр модулей и форм, входящих в создаваемый проект. Модуль, упрощенно говоря, это лист (не путать с рабочим листом), в котором набирается код. Двойным щелчком на значке модуля в окне Project – VBAProject можно открыть соответствующий модуль. Значок активного модуля в окне Project – VBAProject выделяется серым цветом. В VBA у каждого рабочего листа имеется по модулю. Кроме того, рабочая книга обладает своим модулем, и если в проекте создаются пользовательские формы, то каждая из них также имеет по модулю. В проект тоже можно добавлять модули классов для описания создаваемых пользовательских классов, но в данный момент ни один из этих модулей нас не интересует. Единственный модуль, который нужен на данный момент, – это стандартный модуль. Для того, чтобы его добавить в проект, нужно выбрать команду Insert Module.

6.1.3. Структура кода функции пользователя

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

Function ИмяФункции(СписокПараметров)

Инструкции

End Function

СписокПараметров это список параметров, от которых зависит функция. Разделителем в списке параметров является запятая.

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

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

Допустим, досрочный выход из функции по инструкции Exit Function. В теле функции может располагаться несколько инструкций Exit Function.