Найти в Дзене
Piter Melnikov

Приложение Excel-VBA для вычисления определенного интеграла

В статье рассмотрены две технологии численного вычисления определенного интеграла. Первая из предложенных в этой статье технологий дает только очень приближенный результат, получение результата с малой погрешностью затруднено. Технология, основанная на использовании циклических ссылок, сложна в реализации. В настоящей статье рассматривается процесс создания приложения, которое позволяет получить результат с малой погрешностью. Для создания приложения используются возможности встроенного в MS Office VBA. Созданное приложение может быть сохранено в рабочей книге и в дальнейшем многократно, по мере необходимости, использоваться. Приступаем к разработке Прежде всего убедимся что в меню Ms Exсel есть лента «Разработчик». Если ее нет, то нужно включить меню Файл – Параметры (рис. 1). В открывшемся окне диалога Параметры выбрать пункт Настройка ленты и включить опцию Разработчик (рис. 2). Далее включим редактор VBA, как показано на рис. 3. После включения редактора, откроется окно редакто

В статье рассмотрены две технологии численного вычисления определенного интеграла. Первая из предложенных в этой статье технологий дает только очень приближенный результат, получение результата с малой погрешностью затруднено. Технология, основанная на использовании циклических ссылок, сложна в реализации.

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

Приступаем к разработке

Прежде всего убедимся что в меню Ms Exсel есть лента «Разработчик». Если ее нет, то нужно включить меню Файл – Параметры (рис. 1).

Рис. 1.
Рис. 1.

В открывшемся окне диалога Параметры выбрать пункт Настройка ленты и включить опцию Разработчик (рис. 2).

Рис. 2.
Рис. 2.

Далее включим редактор VBA, как показано на рис. 3.

Рис. 3.
Рис. 3.

После включения редактора, откроется окно редактора (рис. 4), в котором есть окно проекта (Project).

Нам понадобится создать форму пользователя (UserForm). Для ее создания следует включить ПКМ (правая кнопка мыши), в открывшемся контекстном меню выбрать пункт Insert (Вставить), и далее выбрать UserForm (рис. 4)

Рис. 4.
Рис. 4.

После включения формы откроется окно редактора формы с именем UserForm1 и панель элементов с расположенными на ней элементами управления (Controls) (рис. 5).

Рис. 5.
Рис. 5.

Поместим в форму элемент управления CommandButton (Командная кнопка). Для этого кликните на элементе управления в панели Controls, затем кликните в поле формы – в форме появится кнопка и откроется окно редактирования кода, в котором заготовлен скрипт заголовка и окончания процедуры обработки события Click (рис. 6).

Рис. 6.
Рис. 6.

Поместим в форму другие элементы управления, как показано на рис. 7.

Рис. 7
Рис. 7

Всем элементам управления, помещенным в форму, присвоим свойства в соответствии с таблицей на рис. 8.

Рис. 8.
Рис. 8.

В окно редактирования кода поместим скрипт как на рис. 9.

-10

Все почти готово готово. Сохраним нашу рабочую книгу вместе с разработанным приложением. При сохранении рабочей книги установите тип файла С поддержкой макросов (рис. 10).

Рис. 10
Рис. 10

Проверим работу приложения.

Для этого подготовим данные для на рабочем листе, например как на рис. 11.

Рис. 11
Рис. 11

Перейдем в редактор VBA и выполним команду меню Ran - Run Sub/UserForm (рис. 12)

Рис. 12.
Рис. 12.

В поле рабочего листа откроется в режиме выполнения наша форма (рис. 13).

Рис. 13
Рис. 13

В соответствующие поля формы введем адреса ячеек, в которых расположены формулы функции и пределов. Помним, что нижний предел одновременно является аргументом функции.. На рисунке все адреса указаны для первого примера. Кликнем на кнопке Выполнить. Последовательно выполним вычисления для других функций. Полученные результаты представлены на рис.14.

рис. 14.
рис. 14.

Результаты получены вполне удовлетворительные, по крайней мере с точностью до третьего знака. Точность можно улучшить, уменьшив шаг интегрирования, для этого в коде программы следует изменить число 2000 на большее (рис.15).

Рис. 15
Рис. 15

Скачать файл Excel с созданным приложением можно здесь по ссылке.