Оператор використовується, якщо необхідно для декількох значень одного виразу виконати певні дії. Кожне значення порівнюється з виразом, і виконуються тільки ті оператори, які знаходяться за прийнятним значенням. Якщо таке значення не буде знайдене, тоді будуть виконані оператори після ключового слова Case Else, наприклад:
Select Case
Caseзначення 1
[оператори]
[Case значення n
[оператори]]
[Case Else
[оператори]]
End Select
3. Оператор циклу Do … Loop
Оператор використовується для створення циклів. Існує декілька різновидів структури оператора. При використанні ключового слова While цикл продовжується, якщо логічна умова - ІСТИНА, а при використанні Until, якщо – НЕПРАВДА.
а) Do While … Loop
Do While логічна умова
[оператори]
Loop
б) Do Until … Loop
Do Until логічна умова
[оператори]
Loop
в) Do … Loop While …
Do
[оператори]
Loop While логічна умова
г) Do … Loop Until …
Do While
[оператори]
Loop Until логічна умова
Оператори в циклі будуть повторюватися певну кількість разів залежно від виконання логічної умови. У перших двох варіантах логічна умова перевіряється перед виконанням циклу, і оператори в циклі можуть не виконуватися жодного разу. В останніх двох варіантах логічна умова перевіряється після того, як оператори циклу виконані, що забезпечує мінімум одне виконання операторів циклу.
4. Оператор циклу For … Next
Оператор дає можливість повторювати набір операторів циклу визначену кількість разів.
Forлічильник=початок To кінець [Step крок]
[оператори]
Next [лічильник]
Лічильник – числова змінна, яка автоматично збільшується після повного виконання циклу. При першому виконанні циклу лічильнику присвоюється значення Початок, і цикл повторюється, коли ж значення лічильника буде Кінець, цикл буде виконано востаннє.
Якщо необов’язкова частина Step відсутня, то значення лічильника буде збільшуватися кожного разу на одиницю. У випадку, коли оператор записаний повністю, то до значення лічильника кожного разу буде додаватися значення Крок. При від’ємному значенні кроку для виконання циклу потрібно, щоб Початок> Кінець.
Примітка. Мова VBA підтримує оператор безумовного переходу Goto. Використання цього оператора не рекомендується, а його функціональні можливості реалізовуються за допомогою операторів управління програмою.
VII. Основні поняття про об’єкти Excel 2003
Більша частина реальної роботи виконується макросом Excel за допомогою об’єктної моделі Excel 2003. Операції у записаному макросі – це в основному результати виконання методів і модифікацій властивостей вбудованих об’єктів. Для визначення найкращої послідовності дій у коді потрібно досконало розібратися в об’єктній моделі Excel.
Об’єктна модель описує зміст і функціональні можливості Excel. Зміст включає додатки, робочі книги, робочі аркуші, клітинки й інші елементи, які разом складають дані Excel з усіма характеристиками об’єкта, включаючи колір, розмір та інші атрибути. Функціональні можливості Excel охоплюють усі операції, котрі можна виконати за допомогою Excel, включно з уведенням даних у клітинки, відкриттям і закриттям файлів, та багато інших команд і операцій. Усі ці елементи в Excel представлені об’єктами.
Об’єкт – спосіб представлення простого елемента або групи пов’язаних функціональних можливостей додатка. Для більш повного використання об’єкта, який в Excel представлений елементом, необхідно працювати з методами і властивостями об’єкта.
Властивість описує зміст та інші атрибути об’єкта, а також служить для зміни його атрибутів. Для пошуку доступних властивостей об’єкта використовується команда “Вид\Просмотр объектов”.
Метод подібний до наперед визначеної процедури, яка виконує деякі операції над об’єктом. Наприклад, метод Close об’єкта Workbook закриває робочу книгу. Багато методів мають один або декілька аргументів.
Аргумент – це вид даних, згідно з якими метод визначає, як він повинен працювати. Інколи об’єкт містить властивості з посиланнями на інші об’єкти – таким чином можна отримати рядок із декількома розділювачами (.) у виразі.
Багато об’єктів зазвичай знаходяться в колекціях. Колекція – це множина елементів, котрі представлені у тому порядку, як вони визначені в Excel:
- об’єкт Application містить колекцію WorkBooks, яка включає всі відкриті в даний момент книги;
- об’єкт WorkBook містить колекцію Sheets, яка представлена усіма аркушами в робочій книзі;
- об’єкт Sheet містить колекцію Cells, котра відповідає клітинкам робочого аркуша.
Для роботи з певним елементом колекції використовується індекс елемента, у якості індексу можна використовувати ім’я елемента.
1. Об’єкт Application
Цей об’єкт містять більшість додатків, які представляють об’єктні моделі. В Excel 2003 об’єкт Application використовується для забезпечення властивостями і методами, які мають посилання на Excel як на єдине ціле, а також для представлення доступу до іншої частини об’єктної моделі Excel. Методи і властивості об’єкта Application можна використовувати безпосередньо за допомогою (.). Цей об’єкт охоплює понад 180 методів та властивостей, деякі з них показані в таблицях 1 і 2.
Деякі властивості об’єкта Таблиця 1
Властивість
| Опис
|
Active Cell
| Повертає об’єкт діапазону, який посилається на активну клітинку
|
Active Sheet
| Повертає об’єкт,котрий посилається на активний робочий аркуш
|
Active Workbook
| Повертає об’єкт робочої книги, який посилається на активну книгу
|
Caption
| Повертає чи встановлює текст рядка заголовка Excel
|
Workbooks
| Повертає колекцію всіх відкритих книг
|
Деякі методи об’єкта Таблиця 2
Властивість
| Опис
|
Calculate
| Виконання обчислень в усіх відкритих робочих книгах
|
Quit
| Вихід із програми Microsoft Excel
|
Run
| Виконання макроса VBA
|
Undo
| Відміна останньої дії користувача
|
2. Об’єкт Workbook
Oб’єкт Application містить колекцію, яка називається Workbooks і посилається на всі відкриті робочі книги. Є множина корисних властивостей об’єкта Workbook, у таблиці 3 наведені деякі з них.
Деякі властивості об’єкта Таблиця 3
Властивість
| Опис
|
ActiveSheet
| Повертає об’єкт аркуша книги, який посилається на активний аркуш у робочій книзі
|
Name
| Повертає ім’я робочої книги
|
Names
| Повертає колекцію імен, визначених у робочій книзі
|
Sheets
| Повертає колекцію аркушів робочої книги
|
Worksheets
| Повертає колекцію робочих аркушів у робочій книзі
|
3. Об’єкт Worksheet
Кожна робоча книга в Excel містить багато робочих аркушів, для посилання на всі аркуші робочої книги використовується колекція Worksheets. Кожний окремий робочий аркуш представлений об’єктом Worksheet. Деякі властивості об’єкта наведені в таблиці 4.
Деякі властивості об’єкта Таблиця 4
Властивість
| Опис
|
Cells
| Повертає об’єкт Range, який містить клітинки робочого аркуша
|
Column
| Повертає колекцію стовпців робочого аркуша
|
Range
| Повертає об’єкт Range робочого аркуша
|
Rows
| Повертає набір рядків робочого аркуша
|
Visible
| Повертає (з можливістю установки) видимість робочого аркуша
|
4. Об’єкти Range i Selection
Об’єкт Range – один із найбільш поширених об’єктів VBA в Excel, він використовується кожного разу, коли потрібно отримати інформацію про клітинки робочого аркуша, розмістити в них інформацію або змінити їх властивості. Об’єкти Range можуть посилатися на будь-яку множину клітинок. Є декілька способів посилання на об’єкт Range:
- властивість Selection об’єкта Application;
- властивість ActiveCell об’єкта Application або вікна;
- властивість Range об’єкта Application, вікна або іншого діапазону.
Властивість Range можно використати разом із попередньо визначеним іменем для посилання на клітинку або діапазон клітинок. В Excel VBA посилання на клітинки може бути двох типів:
Посилання типу А1, де А- перший стовпець, 1- перший рядок;
2) посилання типу R1C1, де R1 – перший рядок, C1 – перший стовпець.
Для посилання на діапазон клітинок указується початкова і кінцева клітинка, між ними розділювач (,).
Властивість Cells повертає посилання на одну або декілька клітинок діапазону. Цю властивість можна використовувати при роботі з об’єктом Application, об’єктами аркушів та діапазонів. Властивість Cells потребує двох аргументів: номер рядка і номер стовпця, якщо аргументи відсутні, то посилання буде відноситися до всіх клітинок виділеного об’єкта. Наприклад, у клітинки поточної виділеної області вводиться значення 0:
Selection.Cells.Value=0.
При посиланні на рядки або стовпці властивості Cells спочатку вказується рядок, а потім стовпець через (,).
Властивість Offset дає можливість зручного посилання на діапазон, розташований із певним зсувом по рядках і стовпцях відносно іншого діапазону. Для посилання на клітинку властивість Offset потребує двох аргументів: рядок та стовпець. Аргументи рядка і стовпця для властивості Offset можуть бути додатні й від’ємні. Наприклад, зсув від активної клітинки на 1 рядок вниз і 2 стовпці праворуч:
ActiveCell.Offset(1,2).Select .
Або зсув від активної клітинки на 2 рядки вгору і 1 стовпець ліворуч:
ActiveCell.Offset(-2,-1).Select .
VIII. Взаємодія VBA з користувачем
Під час виконання макроса часто виникає необхідність підтримки зв’язку з користувачем. Наприклад, виведення деякої інформації або повідомлення користувачеві, виведення запиту користувачеві.