
- •Методичні вказівки
- •Мовою Visual Basic for Application (vba)”
- •6.040303 Системний аналіз
- •1 Лабораторна робота №1
- •1.1 Теоретичні відомості
- •1.1.1 Функція InputBox
- •1.1.2 Процедура MsgBox
- •Текст процедури
- •Текст процедури
- •Результати роботи програми
- •2 Лабораторна робота №2
- •2.1 Створення макросів
- •2.2 Об’єкт Range, його властивості та методи
- •2.2.1 Деякі властивості
- •2.2.2 Деякі методи
- •2.3 Контрольні питання.
- •3.1.2 Оператор циклу по сімейству об'єктів.
- •3.1.3 Оператори циклу з умовою.
- •3.2 Контрольні питання.
- •3.3 Індивідуальні завдання
- •4 Лабораторна робота №4
- •4.1 Функції користувача
- •Текст програми – функції
- •Текст процедури для виклику функції
- •4.2 Процедури користувача
- •4.3 Контрольні питання
- •4.4 Індивідуальні завдання
- •5 Лабораторна робота №5
- •5.1 Створення нової форми
- •5.2 Деякі властивості та події елементів управління
- •5.3 Створення списків
- •5.4 Створення інтерфейсу користувача
- •Програмний код для кнопки CommandButton1 (подія Click)
- •Програмний код для кнопки CommandButton2 (подія Click)
- •5.5 Контрольні питання
- •5.6 Завдання
- •6 Лабораторна робота №6
- •6.1 Введення та виведення масивів
- •6.2 Контрольні питання
- •6.3 Індивідуальні завдання
- •Література
2.3 Контрольні питання.
Що таке макрос? Навіщо створюються макроси?
Які дії необхідні для створення макросу.
Як виконати макрос?
Як створити кнопку, що запускає макрос?
Об'єкт Range, його властивості та методи.
2.4 Завдання
Перепишіть текст створеного макросу і поясніть його команди.
3 ЛАБОРАТОРНА РОБОТА №3
Тема: Використання циклів для обробки даних у таблиці.
Мета роботи: навчитися використовувати оператори циклу та властивості й методи об’єктів VBA
3.1 Оператори циклу
Циклом називають групу операторів, що повторюється багаторазово з різними значеннями деякої змінної, яка називається змінною або параметром циклу.
3.1.1 Оператор циклу з лічильником.
Синтаксис:
For параметр = значення1 To значення2 Step h
інструкції тіла циклу
Next
Оператор повторює виконання тіла циклу, змінюючи значення параметру циклу від значення1 до значення2 із кроком h. Якщо крок дорівнює 1, його можна не вказувати.
Задача 3.1. В діапазоні B2 : B24 записані числа. Знайти суму і кількість додатнних чисел діапазону.
Використаємо для розв’язку задачі об’єкт Cells – клітинку.
Sub СумаТаКількість( )
Dim suma as Single, k as Integer, i as Integer
suma =0 : k=0
For i =2 To 24
If Cells(i , 2) . Value >0 Then
k = k+1 ‘збільшуємо кількість
suma = suma +Cells(i , 2) . Value ‘накопичуємо суму
End if
Next i
MsgBox “Додатних чисел – “ & Str(k) & “, сума – ” & Str(suma)
End Sub
3.1.2 Оператор циклу по сімейству об'єктів.
Синтаксис:
For Each змінна Іn сімейство
інструкції тіла циклу
Next
Оператор повторює виконання інструкцій тіла циклу, доки змінна перебігає всі об'єкти із сімейство об'єктів. Ця змінна повинна бути описана як об’єкт типу Range, якщо сімейство – діапазон клітинок.
Достроковий вихід з таких операторів циклу відбувається за допомогою оператору Exit For.
Задача 3.2. Написати програму, яка заповнює діапазон C2 : H21 випадковими числами з інтервалу [5 ; 25].
Використаємо для цього функцію Rnd( ) із зсувом. Результат можна округлити, використовуючи функцію Round або за допомогою властивості NumberFormat встановити вид відображення чисел.
Sub табуляція( )
Dim r As Range, x As Single
For Each r In Range("C2 : H21")
x = Rnd( ) * 20 + 5
r . Value = Round(x , 2) ‘ або
r . NumberFormat = "### . 00 "
Next
End Sub
3.1.3 Оператори циклу з умовою.
Такі цикли використовується, якщо невідома заздалегідь кількість повторень. Існують такі різновиди операторів:
Синтаксис:
Do While умова інструкції тіла циклу Loop |
Do інструкції тіла циклу Loop While умова |
Оператори з умовою While забезпечують виконання операторів тіла циклу доти, доки умова виконується.
Do Until умова інструкції тіла циклу Loop |
Do інструкції тіла циклу Loop Until умова |
Оператори з умовою Until закінчують роботу операторів тіла циклу тоді, коли умова виконається. Тобто цикл повторюється, якщо умова має значення False (хибність).
Достроковий вихід з таких операторів циклу відбувається за допомогою оператору Exit Do.
Наступний оператор теж працює доки виконується умова.
While умова
інструкції тіла циклу
Wend
Задача 3.3. З клітині А1 починається список. Написати програму, яка підраховує кількість заповнених рядків і записує результат в першому вільному рядку.
Sub Кількість ( )
Dim k As Integer
k = 1 ' k – номер рядка
Do
k = k + 1
Loop While Cells(k , 1) .Value <> ""
Cells(k , 1) .Value = " Номер першого вільного рядка – " & Str(k)
End Sub
Деякі задачі можна розв’язувати як з використанням операторів циклу, так і за допомогою методів та властивостей об’єктів Excel.