Лабораторна робота 16
Тема: Робота з текстовими файлами і розробка функцій користувача за допомогою VBA.
Мета: Придбання практичних навичок програмування власних функцій, створення вікон повідомлень та введення даних, призначення макросу керуючих елементів.
Створення функції користувача
Завдання 1. протабулювати функцію F на відрізку [5, 20] з кроком 1,5;
при a = 12, b = 0,5, за допомогою розробленої функції користувача.
Функція F має вигляд:
1. Створити нову книгу Лаб. 2 VBA- Функції користувача в особистій папці, папці з іменемVBA.
2. Лист 1 перейменувати в "F".
![Створення функції користувача (введення клавіатури значення) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-36dc6a13.jpg)
Створити модуль командою Insert - Module
![Створення функції користувача (значення замовчуванням допомогою) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-1b09de50.jpg)
Після цього потрібно зберегти книгу з підтримкою макросів, натиснувши на кенопуку зберегти в вікні MS Visual Basic
![Створення функції користувача (користувача) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-25b9ff0c.jpg)
Тепер використовуємо функцію F (x, a, b) так само як звичайну вбудовану функцію, наприклад ОКРУГЛ (A1)
Приклад коду найпростішої функції Test (і), яка буде додавати до й 5.
Function Test (i As Integer) As Integer
Результат її виклику:
4. На робочому аркуші F протабулювати функцію (створити таблицю значень функції F для кожного х в діапазоні [5; 20]):
![Створення функції користувача (створення) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-a4c05f16.jpg)
При х = 5.0, F = 7,50;
5 У зошит записати:
- побудовану таблицю значень x і F (попередньо поставивши 1 і 2 десяткових знака);
- код функції F на VBA;
- формулу з вкладеною розробленої функцією (наприклад, формулу розрахунку значення F для x = 5.0).
Завдання 2. Розрахувати таблицю зміни значень рентабельності та ціни в залежності від зміни собівартості:
![Створення функції користувача (користувача) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-4b7bd838.jpg)
1. Розрахункові формули:
P = 85, S змінюється від 800 до 1000 з кроком 25.
2. Для розрахунку рентабельності створити функцію Рентаб (P, S), для визначення ціни - ЦІНА (S, P), дані розмістити на Листі 2. який назвати "Рентаб, ЦІНА", третій лист видалити.
Для створення нової функції необхідно виконати команду Insert - Procedure на панелі інструментів.
![Створення функції користувача (значення замовчуванням допомогою функції) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-ba2b5091.jpg)
З'явитися вікно створення нової процедури, де необхідно вказати наступні опції:
![Створення функції користувача (функції) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-b2552112.jpg)
У вікні редагування коду з'явитися наступна заготівля, в яку необхідно вписати код функції.
3. Відформатувати таблицю за зразком завдання (зверніть увагу: прибрати лінії сітки (меню Сервіс або заливка комірок робочого аркуша білим кольором), задати тінь таблиці - заливка відповідних осередків сірим кольором).
4. Записати в зошит також:
- коди функцій Рентаб, ЦІН на VBA;
- виклики функцій - формули розрахунку першого значення рентабельності і ціни.
Організація діалогу (вікна повідомлень і введення)
Завдання 3. Введення і виведення числових значень (команди InputBox і MsgBox).
1. Створити процедуру з ім'ям CalcRC (Розрахунок R і С), яка здійснює:
1) введення з клавіатури значення прибутку P (P = 85, значення за замовчуванням = 10) за допомогою функції InputBox:
![Створення функції користувача (значення замовчуванням допомогою) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-efc67f0c.jpg)
2) введення з клавіатури значення собівартості S (S = 1000, значення за замовчуванням = 20) за допомогою функції InputBox:
![Створення функції користувача (створення) Створення функції користувача](https://images-on-off.com/images/144/sozdaniefunktsiipolzovatelya-cbddaacc.jpg)
Синтаксис функцііInputBox:
InputBox (Текст повідомлення, Тема. Значення за замовчуванням)