Создание функции пользователя

Лабораторная работа 16

Тема: Работа с текстовыми файлами и разработка функций пользователя с помощью VBA.

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

Создание функции пользователя

Задание 1. Протабулировать функцию F на отрезке [5, 20] с шагом 1,5;

при a = 12, b = 0,5, с помощью разработанной функции пользователя.

Функция F имеет вид:

Указания:

1. Создать новую книгу Лаб. 2 VBA- Функции пользователя в личной папке, подпапке с именемVBA.

2. Лист 1 переименовать в "F".

3. В редакторе Visual Basic создать функцию пользователя с именем F от трех переменных - F(x, a, b).

Создать модуль командой Insert – Module

Задать функцию.

 

После этого нужно сохранить книгу с поддержкой макросов, нажав на кенопуку сохранить в окне MS Visual Basic

Теперь используем функцию F(x,a,b) так же как обычную встроенную функцию, например ОКРУГЛ(A1)

 

Пример кода простейшей функции Test(і), которая будет прибавлять к і 5.

 

 

Function Test(i As Integer) As Integer

Test = i + 5

End Function

Результат ее вызова:

 

 

4. На рабочем листе F протабулировать функцию (создать таблицу значений функции F для каждого х в диапазоне [5;20]):

 

Проверка правильности:

При х = 5.0, F = 7,50;

x = 20, F = 0,43.

5 В тетрадь записать:

- построенную таблицу значений x и F (предварительно задав 1 и 2 десятичных знака);

- код функции F на VBA;

- формулу с вложенной разработанной функцией (например, формулу расчета значения F для x=5.0).

 

Задание 2. Рассчитать таблицу изменения значений рентабельности и цены в зависимости от изменения себестоимости:

 

 

Указания:

1. Расчетные формулы:

где: R– рентабельность,

С –цена,

S – себестоимость,

P – прибыль.

Исходные данные:

P = 85, S изменяется от 800 до 1000 с шагом 25.

 

2. Для расчета рентабельности создать функцию РЕНТАБ ( P, S ), для определения цены – ЦЕНА ( S, P ), данные разместить на Листе 2, который назвать "РЕНТАБ, ЦЕНА", третий лист удалить.

 

Для создания новой функции необходимо выполнить команду Insert – Procedure на панели инструментов.

 

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

 

 

В окне редактирования кода появиться следующая заготовка, в которую необходимо вписать код функции.

 

3. Отформатировать таблицу по образцу задания (обратите внимание: убрать линии сетки (меню Сервис или заливка ячеек рабочего листа белым цветом), задать тень таблицы - заливка соответствующих ячеек серым цветом).

 

4. Записать в тетрадь также:

- коды функций РЕНТАБ, ЦЕН на VBA;

- вызовы функций - формулы расчета первого значения рентабельности и цены.

 

 

Организация диалога (окна сообщений и ввода)

Задание 3. Ввод и вывод числовых значений (команды InputBox и MsgBox).

Указания:

1. Создать процедуру с именем CalcRC (Расчет R и С), которая осуществляет:

1) ввод с клавиатуры значения прибыли P (P = 85, значение по умолчанию = 10) с помощью функции InputBox:

2) ввод с клавиатуры значения себестоимости S (S = 1000, значение по умолчанию = 20) с помощью функции InputBox:

Синтаксис функцииInputBox:

InputBox(Текст сообщения, Заголовок , Значение по умолчанию)