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

      Комментарии к записи Решить пример из лабораторной работы №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 только тогда, когда в теле функции содержится присвоение:

<p>ИмяФункции = ВычисленноеЗначение

  • . Для того, чтобы диалоговое окно вызова Вашей функции из листа 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

Статьи к прочтению:

Программирование макросов на VBA в Excel


Похожие статьи: