Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭЛЕКТРОННЫЙ_ОФИС.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6.11 Mб
Скачать

Глава IV редактор vba (visual basic for applications)

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

Visual Basic For Applications – это сочетание одного из самых простых языков программирования и всех вычислительных возможностей Excel.

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

.

Выполним команду /Сервис/Макрос/Редактор Visual Basic.

В появившемся окне редактора выполним команду /Insert/Module, в результате которой на экране появится пустое окно кода модуля –Module1 (Code).

Команда /Run/Run Sub, показанная на рисунке выведет диалоговое окно Macros.

В диалоговом окне, в поле Macro Name введем название нашей функции у и нажмем кнопку Create.

На листе модуля введем текст следующей программы:

Function y(x)

y = Sin(x) * Exp(-2 * x)

End Function

как показано на рисунке.

Запускаем программу на исполнение, нажав клавишу F5.

Сохраняем модуль командой /File/Save и возвращаемся на лист Excel /File/Close and Return to Microsoft Excel.

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

Пусть в ячейку А1 записано число 0,2 и нам необходимо вычислить в ячейке В1 значение функции Y при х=0,2. Для этого достаточно в ячейку В1 ввести формулу =Y(A1). Это можно сделать теперь с помощью Мастера функций, который будет содержать функцию Y наряду с другими встроенными функциями Excel.

Результат вычислений показан на следующем рисунке.

4.2 Функции пользователя с оператором условного перехода

Необходимо вычислить значение функции, заданной следующей формулой:

Последовательно выполняем действия, описанные в 3.1 и вводим в окно модуля текст программы, как показано на рисунке. Знак подчеркивания «_» в конце строки обозначает, что следующая строка является продолжением предыдущей.

Пусть в ячейку А1 записано число 0,2 и нам необходимо вычислить в ячейке В1 значение функции g при у=0,2. Для этого достаточно в ячейку В1 ввести формулу =g(A1). Или использовать функцию пользователя g, обратившись к Мастеру функций.

В результате получим следующий результат.

4.3 Функции пользователя с несколькими операторами условного перехода

Рассмотрим пример функции пользователя, вычисляющей значение следующей функции с тремя условиями:

Последовательно выполняем действия, описанные в 3.1, и вводим в окно модуля листинг программы:

Function z(t)

If t <= -1 Then z = (1 + Abs(t)) / (1 + t + t ^ 2) ^ (1 / 3)

If t > -1 And t < 0 Then z = 2 * (1 + t ^ 2) + (1 + Cos(t) ^ 4) / (2 + t)

If t >= 0 Then z = (1 + t) ^ (3 / 5)

End Function

Запускаем программу на исполнение, сохраняем модуль, содержащий функцию, и возвращаемся на лист Excel. Пусть в ячейку А1 записано число 0,2, и нам нужно вычислить в ячейке В1 значение функции z при t=0,2. Воспользуемся Мастером функций. В поле Категория выберем Определенные пользователем.

Затем из списка функций выберем z, и в качестве аргумента зададим ссылку на ячейку А1.

Получим в ячейке В1 результат вычисления, как показано на рисунке.