- •Методичні вказівки
- •Мовою 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 Індивідуальні завдання
- •Література
1.1.2 Процедура MsgBox
Виводить на екран діалогове вікно (див. рис. 1.2), яке містить повідомлення. Звичайно використовується для виведення результатів. Може містити кнопки та значки, які обирає програміст.
Синтаксис процедури:
MsgBox("Текст повідомлення ", Кнопки, "Заголовок вікна", Файл довідки)
Обов’язковим є тільки перший аргумент. Щоб вивести числа або дати, треба перетворити їх до строкового типу за допомогою функції Str та приєднати до тексту символами &. Набори кнопок та інформаційних значків можна задавати за допомогою констант VBA або їхніх числових значень (див. табл. 1.1 та 1.2).
Таблиця 1.1 – Значення для відображення кнопок
Константа VBA |
Значення |
Кнопки |
VbOKOnly |
0 |
OK |
VbOKCancel |
1 |
OK, Отмена |
VbAbortRetryIgnore |
2 |
Стоп, Повторить, Пропустить |
VbYesNoCancel |
3 |
Да, Нет, Отмена |
VbYesNo |
4 |
Да, Нет |
VbRetryCancel |
5 |
Повторить, Отмена |
Таблиця 1.2 – Значення для відображення значків
Константа VBA |
Значення |
Значки |
VbCritical |
16 |
|
VbQuestion |
32 | |
VbExclamation |
48 | |
VbInformation |
64 |
Приклади використання процедури MsgBox:
MsgBox "Це рівняння не має розв’язків!", vbExclamation
MsgBox "Значення Х=" & Str(X), vbInformation, "Відповідь "
MsgBox "На ноль ділити неможна! ", vbCritical
Рисунок 1.2 – Приклади використання процедури MsgBox
Задача 1.1 Написати процедуру, яка запитує ім’я користувача та вітає його.
Текст процедури
Sub hello( )
Dim name As String
name = InputBox("Як тебе звати?")
MsgBox "Привіт, " & name
End Sub
На рисунках 1.1 та 1.2 зображені вікна введення та виведення для цієї задачі.
1.1.3. Робота з Листом Excel
Для роботи з клітинками, розташованими на Листі Excel, використовується об’єкт Range та його властивість Value (значення). Приклади наведені в таблиці 1.3.
Таблиця 1.3 – Приклади використання об’єкту Range
Оператор |
Що відбувається |
Range("D1").Value = Х |
записує значення змінної Х до клітинки D1 |
Х=Range("D1").Value |
заносить до змінної Х значення з клітинки D1 |
1.1.4 Умовний оператор
Синтаксис оператору:
IF умова THEN інструкції 1 ELSE інструкції 2
Якщо умова виконується (=True), то виконуються інструкції 1, якщо умова НЕ виконується (=False), то виконуються інструкції 2.
Для запису умов можна використовувати операції порівняння =, <, <=, >, >=, <> та логічні операції AND, OR і NOT.
Декілька умов можна перевірити, використовуючи логічні операції або вкладені умовні оператори.
У цього оператора існує й блочна форма, яка працює за тими ж правилами та має такий вигляд:
IF умова THEN
інструкції 1
ELSE
інструкції 2
END IF
В блочній формі умовного оператора таке розташування по рядках є обов’язковим. Інструкції можуть містити декілька операторів або методів та бути записаними у різних рядках.
Службове слово ELSE та інструкції, які записані після нього, оператор може не містити. Тоді він має вигляд:
IF умова THEN інструкції 1
Якщо умова не виконується, то інструкції 1 НЕ виконуються і працює наступний оператор, записаний після умовного.
Задача 1.2 Перевірити парна чи непарна сума цифр двозначного числа, розташованого на Листі Excel у клітинці А1. Вивести відповідне повідомлення.
Для визначення цифр, з яких складається число, використаємо операцію ділення цілих чисел (символ \ ) та оператор mod, який знаходить залишок від ділення двох чисел.
Текст процедури
Sub Приклад_2( )
Dim a As Integer, suma As Integer, d As Integer, e As Integer
Dim st As String
a = Worksheets("Лист1").Cells(1, 1).Value
e = a Mod 10 ‘остання цифра числа
d = a \ 10 ‘передостання цифра числа
suma = d + e
If suma Mod 2 = 0 Then
st = "– ПАРНЕ"
Else
st = "– НЕПАРНЕ"
End If
MsgBox ("СУМА ЦИФР =" & Str(suma) & st)
End Sub
Результати роботи програми
Рисунок 1.4 – Приклад роботи програми
1.1.5 Оператор вибору
Синтаксис оператору:
Select Case выраз
Case список 1 значень виразу
інструкції 1
Case список 2 значень виразу
інструкції 2
. . . . . . . . . . . . . .
Case Else
інструкції для Else
End Select
В першому рядку оператора записується вираз, а потім він порівнюється зі списками значень виразу, що записані нижче. Найчастіше вираз – це числова або строкова змінна.
Список значень виразу може містити одне значення або декілька значень, записаних через кому. Для завдання інтервалу значень використовується ключове слово TO. Ключове слово IS використовується, якщо список містить знаки відношень (див. табл. 1.4)
Таблиця 1.4 – Приклади списків оператору Select Case х
-
Список
Пояснення
Case 5
x = 5
Case 4 , 5
x = 4 або x=5
Case 3 To 5
3 ≤ x ≤ 5
Case Is < = 3
x ≤ 3
Якщо вираз задовольняє одному зі списків, то виконуються інструкції, записані після цього списку, і оператор закінчує роботу. Списки значень, записані нижче, не перевіряються, тобто виконується тільки одна з інструкцій. Якщо вираз НЕ задовольняє жодному зі списків значений, то виконується інструкція для Else. Проте, остання частина ( Case Else ) в операторі може бути відсутня.
Задача 1.3 Ввести назву місяця та вивести кількість днів в ньому.