Лабораторная работа: Пользовательские функции рабочего листа Visual Basic

Функция пользователя

Пользователь может создать собственную функцию в стандартном модуле редактора VBA.

Для вызова редактора VBA задайте команду Сервис - Макрос - Редактор Visual Basic или нажмите комбинацию клавиш Alt+F11. В результате пользователь попадает в интегрируемую среду приложений IDE редактора Visual Basic. Она имеет стандартный вид для Windows-приложений:

строка меню,

панель инструментов (в данном случае Standart),

два окна Project – VBAProject и Properties.

В окне Project – VBAProject отображается реестр модулей и форм, входящих в создаваемый проект.

Модуль - это лист (не путать с рабочим листом), в котором набирается код.

Двойным щелчком на значке модуля в окне Project – VBAProject можно открыть соответствующий модуль. Значок активного модуля в окне Project – VBAProject выделяется серым цветом.

В VBA у каждого рабочего листа имеется собственный модуль. Кроме того, рабочая книга обладает своим, и если в проекте создаются пользовательские формы, то каждая из них имеет по модулю. В проекте также можно добавлять модули классов для описания создаваемых пользовательских классов (эти модули будут рассмотрены позже). Единый модуль, который нам необходим, - это стандартный модуль. Для того чтобы его добавить в проект, выберите команду Insert-Module.

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

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

Function имя_функции (список_аргументов)

[инструкции]

End Function

где

имя_функции – имя создаваемой функции, придуманное пользователем;

список_аргументов – список аргументов;

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

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

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

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

Рассмотрим построение простой функции, которая возвращает стоимость товара по его стоимости без НДС и значению ставки НДС.

Вызовите редактор VBA командой Сервис - Макрос - Редактор Visual Basic или комбинацией клавиш Alt+F11. Добавьте в проект стандартный модуль командой Insert - Module. В окне модуля наберите код, представленный в листинге 1.

Листинг 1. Пользовательская функция определения стоимости товара

Function Стоимость (СтоимостьБезНДС, НДС)

Стоимость = СтоимостьБезНДС * (1 + НДС / 100)

End Function

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 289
Бесплатно скачать Лабораторная работа: Пользовательские функции рабочего листа Visual Basic