9.3. Використання допоміжних алгоритмів в електронних таблицях.

При організації обчислень в електронній таблиці може виникнути потреба у створенні власного алгоритму. Для цього існує можливість виклику редактора VBA безпосередньо з електронної таблиці і створення потрібної процедури та функції. В ролі фактичних параметрів такого алгоритму будуть виступати адреси комірок пам’яті. Оскільки використання форми в такому випадку не передбачається, то сам алгоритм потрібно створити в модулі проекту.

Розглянемо далі матеріал на прикладі створення функції користувача.

Для створення функції користувача в електронній таблиці потрібно виконати таку послідовність дій:

1) Подати команду Сервис – Макрос – Редактор Visual Basic (комбінація клавіш Alt+F11)

2) Додати новий модуль до проекту (команда Insert – Module)

3) Записати текст алгоритму за наведеними вище правилами.

Використання такої функції можна здійснювати як звичайним способом, так і через майстер функцій (в ролі параметрів функції потрібно вказати або константи, або адреси комірок таблиці). Так, якщо в комірку А3 потрібно записати суму значень комірок А1 та С2 з використанням оголошеної вище функції Sum, то вираз матиме вигляд

=Sum(A1;C2)

Потрібно звернути увагу на особливість: параметри процедури при викликові в електронні таблиці відокремлюються не комою, а символом крапка з комою. Кома в електронній таблиці має інше призначення.

Аналогічно в ролі фактичного параметру процедури або функції можна використовувати діапазон комірок. Формальним параметром йому відповідатиме структура даних масив. Для визначення кількості елементів діапазону (масиву) використовуються властивості Rows.Count для стовпчикового діапазону та Columns.Count для рядкового.

Завдання 9.1. Скласти алгоритм, який підраховує кількість парних чисел в деякому стовпчиковому діапазоні електронної таблиці.

Dim n%, i%, k%

Public Function Кільк_парн(x) As Integer

n = x.Rows.Count ’ n – кількість коміров в діапазоні

k = 0 ’ k – кількість парних значень

For i = 1 To n

 If x(i) Mod 2 = 0 Then k = k + 1

Next i

Кільк_парн = k

End Function

Для того, щоб ця функція була доступна через майстер функцій електроннної таблиці (розділ “Определенные пользователем”), вона оголошена не як Private, а як Public.

 

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28  Наверх ↑