Решить пример из лабораторной работы №1 с помощью функций, написанных на VBA .

Лабораторная работа №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 ячейку и нажмите кнопку fx и найдите ее (функцию) в категории «Определенные пользователем»;ее параметры вводятся точно так же, как и параметры встроенных в 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