Лабораторная работа №2
Цель: научиться создавать и применять функции на языке Visual Basic for Application.
Задание:
Решить пример из лабораторной работы №1 с помощью функций, написанных на VBA.
КРАТКАЯ ИНСТРУКЦИЯ.
Установите ленту «Разработчик»:
- Щелкнете по круглой кнопке в левом верхнем углу.
- Щелкнете по надписи «Параметры Excel»
- Включите «Показывать вкладку «Разработчик» на ленте».
- Нажмите ОК.
- Щелкнете по ярлыку вкладки «Разработчик».
- Щелкнете по надписи «Безопасность макросов».
- Установите «Включить все макросы»
Для входа в среду VBA: «Разработчик» -> Visual Basic или Alt + F11
Для написания функции нужно:
· Создать модуль (меню Insert -> Module). В одном модуле обычно размещают несколько функций.
· Меню Insert -> Procedure, появится диалоговое окно
· В появившемся диалоговом окне, вписать имя Вашей функции, (имя функции, как и имя любой переменной, должно начинаться с буквы и не содержать пробелов и других символов кроме букв, цифр и _) и в панели Type выбрать Function, нажать OK. Заготовка для написания функции появится в модуле.
· Вписать внутрь скобок имена параметров (аргументов), которые нужны для вычисления (если число параметров больше 1-го, то их имена отделяются запятыми), имена параметров (как и имя функции) должны отражать их смысл, поскольку они появляются в диалоговом окне вызова Вашей функции из листа Excel. В параметре функции и в теле функции недопустимы адреса ячеек Excel.
· В промежутке между строками со словами Function и End Function написать код на языке Basic, вычисляющий значение функции – т.е. создать тело функции. При написании кода следует соблюдать правила.
Функция возвращает вычисленное значение в ячейку Excel только тогда, когда в теле функции содержится присвоение:
ИмяФункции = ВычисленноеЗначение
·. Для того, чтобы диалоговое окно вызова Вашей функции из листа Excel содержало бы краткую справку, «Разработчик» -> МАКРОСЫ. В открывшемся диалоговом окне в окно ввода «Имя» введите имя Вашей функции и щелкните кнопку «Параметры». В открывшемся диалоговом окне в окно ввода «Описание» введите текст справки.
· Для использования функции выделите на листе Excel ячейку и нажмите кнопку f x и найдите ее (функцию) в категории «Определенные пользователем»; ее параметры вводятся точно так же, как и параметры встроенных в Excel функций.
· Число функций в одном модуле не ограничено, но лучше группировать их в разных модулях по смыслу.
· Сначала создайте функции, которые вычисляют значение ячейки в столбцах №2, №3, №4 (см лаб. работу №1). Создайте их в одном и том же модуле.
· Результаты, полученные с помощью функций Excel и с помощью Ваших функций должны совпадать.
· Арктангенс X возвращает функция Atn (X), число π вычисляется, как 4 * Atn(1), поскольку tg 45º = tg (π/4)=1, остальные обратные тригонометрические функции,согласно знаниям, полученным Вами в средней школе, выражаются через функции VBA так:
Арксинус (Х) = Atn(Х / Sqr(-Х * Х + 1))
Арккосинус(Х) = Atn(-Х / Sqr(-Х * Х + 1)) + 2 * Atn(1)
Арккотангенс(Х) = Atn(Х) + 2 * Atn(1)
где Sqr(X) – это , а Atn(Х) – это arctg (X)
Справа от столбцов работы №1 создайте 3 столбца, каждый из которых соответствует столбцу из работы №1. В ячейки этих столбцов, соответствующие значению Х=0,1, вызовите написанные вами на VBA функции. Протяните сразу три столбца. Сравните полученные результаты с работой №1