Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.14
Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications стр.14

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

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

Создадим, например, функцию пользователя, математически

определенную следующим образом [2]: у = s'm(70c)e~2x.

Функция пользователя разрабатывается точно так же, как и любая функция VBA. Она хранится в модуле и описывается с помощью ключевого слова Public. Параметром функции является значение или ссылка на ячейку. По умолчанию Excel присваивает модулям имена: Модуль1, Модуль2 (Modulel, Modu-1е2) и т. д. Для создания модуля выполните команду Сервис/ Макрос/Макросы. Введите имя макроса (рис. 4.2), например функция, и нажмите кнопку Создать. В результате откроется приложение VBA, в котором будет открыт уже существующий модуль (или создан новый), например Модуль1. На экране будут выведены строки:

Sub функция() End Sub

Замените эти строки на листе модуля текстом следующей программы (рис. 4.1).

Public Function функция(х)

функция = Sin(Application.Pi()*х)*Ехр(-2*х) End Function

Программирование в среде Visual Basic for Applications

Функция Pi() в VBA возвращает значение постоянной к (в Excel - функция пи()). Заметим, что поскольку функция Pi() не является внутренней функцией VBA, то ее необходимо записать в форме Application.PiQ.

Демидова л. а., Пылькин а. Н. Программирование в среде Visual Basic for Applications

Рис. 4.1. Лист модуля

При активном листе Модуль1, на котором введена функция, нажмите клавишу Р2. На экране появится диалоговое окно Просмотр объектов, в котором можно произвести поиск любых компонентов VBA в имеющихся классах. Для поиска необходимо ввести имя необходимого компонента в поле поиска и нажать кнопку с изображением бинокля. На рис. 4.2 представлены результаты поиска функции.


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta