- •Vba – (Visual Basic for Application)
- •Структура редактора vba
- •End Sub
- •Зв’язок з даними, розміщеними на робочому листі Microsoft Excel
- •End Sub
- •Таблиця кодів кнопок
- •Лабораторна робота №9
- •Основи мови vba
- •Оператори мови vba
- •Розрахунок контрольного прикладу в Excel
- •Розрахунок контрольного прикладу в Excel
- •Теоретичні відомості та основні поняття об’єктно-орієнтованого та візуального програмування
- •Задача про обмін валют
- •Циклічні алгоритми
- •Знаходження суми та добутку
Vba – (Visual Basic for Application)
VBA – відносно легка мова програмування, проста в засвоєнні і дозволяє швидко отримувати результати – конструювати професійні додатки, які розв’язують практично всі задачі в середовищі Windows. При цьому створення багатьох додатків за допомогою VBA простіше і швидше, ніж за допомогою інших мов програмування.
Структура редактора vba
Редактор VBA активізується командоюСервіс → Макрос → Редактор Visual Basic, або натисненням кнопки Редактор Visual Basic панелі інструментів Visual Basic, або комбінації клавіш <лівий Alt> + <F11>. Повернутися з редактора Visual Basic в робочу книгу можна натисненням кнопки Viev Microsoft Excel панелі інструментів Standard.
В результаті ви потрапляєте в середовище розробки додатків редактора VB.
Інтерфейс редактора Visual Basic складається з наступних основних компонент:
вікно Project – VBA Project (Проект);
вікно редагування коду.
Вікно розробки має стандартний вигляд для Windows додатків: рядок меню, панель інструментів і два вікна Project (Проект) i Propetis (Властивість).
У вікні Project – VBA Project відображається реєстр модулів і форм, які входять до створюваного проекту. Модуль – це лист (не плутати з робочим листом), де набирається код (програма). Подвійним натисненням по значку модуля можна відкрити відповідний модуль. Значок активного модуля виділяється сірим кольором. У VBA кожний робочий лист має модуль. Щоб додати його в проект, необхідно вибрати команду: Вставка → Модуль. В результаті з’являється робочий лист модуля. Для створення програм потрібно скористатись: Вставка → Процедура.
Даємо ім’я процедури: MyFirstProgram, вказуємо тип процедури, наприклад Sub, натискуємо ОК.
На листі отримуємо:
Public Sub MyFirstProgram()
[інструкції]
End Sub
Наша перша програма буде виводити на екран текст Привіт, світ!. Для цього напишемо таку інструкцію: MsgBox “Привіт, світ!”.
Існують два способи запуску програми:
Встановити курсор в будь-яке місце програми і натиснути функціональну клавішу F5.
Натиснути з будь-якого місця програми піктограму пуск . Виникне модальне вікно (модальне – це означає, що поки ми його не погасили, не можна виконувати ніякі інші дії). Щоб повернутися в модуль, треба натиснути клавішу ОК.
Зв’язок з даними, розміщеними на робочому листі Microsoft Excel
Для читання даних з листа, або запису на робочий лист, можна скористатися об’єктом Worksheets та його властивостями cells (комірки) або range. Наприклад:
Worksheets(“Лист1”).cells(1,1) = 0 ’ комірці А1 робочого листа Лист1
’ присвоюється значення 0
а = Worksheets(“Лист1”).cells(1,1) ’ змінній а присвоюється значення, що
’ внесено в комірку А1 робочого листа Лист1
Worksheets(“Лист1”).range(“a1 : a10”) = 0‘діапазону комірок А1 : А10 робочого
’ листа Лист1 присвоюється значення 0
а = Worksheets(“Лист1”). range (“а1”) ’ змінній а присвоюється значення, що
’ внесено в комірку А1 робочого листа Лист1
Символ ’ означає, що текст після нього є коментарем і не виконується.
Вбудовані діалогові вікна
У проектах VBA часто зустрічаються два типи діалогових вікон:
Вікна повідомлень.
Вікна вводу (діалогу).
Вони вбудовані у VBA, і якщо їх можливостей достатньо, то можна обійтись без проектування діалогових вікон. Вікно повідомлень MsgBox виводить найпростіші повідомлення для користувача, а вікно вводу InputBox забезпечує введення інформації
Процедура MsgBox
MsgBox – це скринька з повідомленнями (скорочення від Message Box). Ця процедура виводить на екран діалогове вікно, яке містить повідомлення, встановлює режим очікування натиснення кнопки користувачем.
Синтаксис:
MsgBox (Prompt, Buttons, Title)
Prompt – рядковий вираз, який відображає повідомлення в діалоговому вікні.
Buttons – числовий вираз, або константа, еквівалентна числовому виразу, що являє собою суму значень, які вказують число і тип кнопок, що відображаються в діалоговому вікні, основну кнопку і модальність вікна повідомлень. Значення за замовчуванням цього параметру дорівнюють нулю.
Title – вираз, який відображається у рядку заголовка діалогового вікна. Якщо цей параметр опущений, то в рядок заголовка поміщається ім’я додатку.
Значення параметру Buttons процедури MsgBox, які визначають кнопки, що відображаються у діалоговому вікні
Константа |
Значення |
Кнопки |
VbOKOnly VbOKCancel VbAbortIgnore VbYesNoCancel VbYesNo VbRetryCancel |
0 1 2 3 4 5 |
OK ОК Отмена Стоп Повтор Пропустить Да Нет Отмена Да Нет Повтор Отмена |
Значення параметру Buttons процедури MsgBox, які визначають інформаційні значки у діалоговому вікні
Константа |
Значення |
Знак повідомлення |
VbCritical VbQuestion VbExclamation VbInformation |
16 32 48 64 |
|
Значення параметру Buttons процедури MsgBox, які визначають основну кнопку в діалоговому вікні повідомлень, тобто активну кнопку
Константа |
Значення |
Номер основної кнопки |
VbDefaultButton1 VbDefaultButton2 VbDefaultButton3 VbDefaultButton4 |
0 256 512 768 |
1 2 3 4 |
Активна кнопка буде працювати, якщо ми натиснемо клавішу Enter в діалоговому вікні.
Приклади використання процедури MsgBox
Вивести вікно повідомлень, яке містить повідомлення “Hello Word”, в заголовку якого вказати своє ім’я.
Public Sub MyFirstProgram()
MsgBox "Hello Word", , "Oльга"
End Sub
Вивести вікно повідомлень, яке містить кнопки Да і Нет, значок , а також повідомлення Hello Word.
Public Sub MyFirstProgram()
MsgBox "Hello Word", vbYesNo + vbCritical
End Sub
Вивести вікно повідомлень, яке містить лише ім’я в рядку заголовка діалогового вікна.
Public Sub MyFirstProgram()
MsgBox " ", , "Ольга"