Создание пользовательских функций Excel
Функция - это подпрограмма, которая выполняет действия в пределах своего блока и возвращает программе единственное значение. Функции имеют следующий синтаксис: Function ИмяФункции (Список параметров) As ТипДанных «тело функции» ИмяФункции = Возвращаемое значение End Function При вызове функции указывается ее имя и передаваемые ей параметры (список параметров может и отсутствовать). Возможен досрочный выход из функции по инструкции Exit Function. Готовая функция, подготовленная в стандартном модуле (например, Module 1), автоматически попадает в категорию Определенные пользователем окна Мастера функций Excel. Пример. Создадим функцию пользователя для расчета стоимости партии книг при следующих условиях продажи: • если продается от 100 до 200 экземпляров книги, то скидка от ее отпускной цены составляет 7%, если продается 201-300 экземпляров, то скидка составляет 10%, а если свыше 300 экземпляров, то 15%, • для постоянных клиентов предусмотрена дополнительная скидка в размере 5%. Ниже приводится программный код VBA этой функции (названной нами Стоимость), записанный в Module 1. Замечание: для того, чтобы любая пользовательская функция стала встроенной, необходимо, чтобы ее код был записан в одном из стандартных модулей ModuleN.
В коде использовались русские имена всех переменных, что в VBA допустимо. Поскольку типы переменных не определены, то они понимаются по умолчанию, т.е. такими, как заданы в Ехсеl.
Заметим еще, что если параметр Скидка = 0, то дополнительной скидки не предполагается, для постоянных клиентов параметр должен быть отличным от нуля, например, Скидка = 1. Теперь зайдем в Excel, подготовим исходные данные о продаже книг и обратимся к нашей функции Стоимость через Мастер функций (напомним, что функция находится в категориях «Определенные пользователем» и «Полный алфавитный перечень»). Получаем результат:
|