Оператори
Закінченою пропозицією мови програмування є оператор, у складі якого може бути кілька виразів, укладених у круглі дужки та з'єднаних знаками операцій. В операторі вираз може бути замінено його значенням, наприклад, =2.5. Оператор VBA - це закінчена конструкція мови, що розпізнається компілятором і визначає будь-яку дію або опис змінних, констант або функцій. Оператори є окремими неподільними реченнями мови. Початковий текст програми складається з операторів. Оператори виконуються в порядку їх розташування в програмі, виняток становлять оператори, що управляють, які можуть наказувати інший порядок виконання. У вихідному тексті програми оператори зазвичай є окремими рядками, хоча допустима і запис кількох операторів в одному рядку. У цьому випадку оператори поділяються двокрапкою. Зазвичай так чинять із короткими операторами присвоювання чи оголошення змінних, наприклад:
Dim X, Y As Integer: Х=2: Y=3 У цьому рядку записано три оператори, перший із яких є оператором оголошення змінних X і Y, інші - операторами присвоєння. Якщо оператор не вміщується на одному рядку, то наприкінці цього рядка ставиться пробіл та знак підкреслення. Решта оператора записується в наступному рядку. Перенесення на інший рядок не допускається з виразів, укладених у дужки.Приклад оператора, записаного у вигляді двох рядків: Z=X+_ Y Оператор може складатися з одного єдиного ключового слова, наприклад Віяло, або будь-якої комбінації ключових слів, змінних, операцій, функцій та інших допустимих елементів, що розпізнаються компілятором, наприклад: Z= (2+3)/2+sin(x) Усю сукупність операторів можна поділити на оператори опису та виконувані оператори. Оператори опису служать для опису змінних, констант чи процедур, і навіть завдання типів даних. Оператори, що виконуються, ініціюють дію. Вони можуть виконати функцію, організувати управління роботою програми, наприклад, повторення або розгалуження блоків програми. До них відносять оператори передачі управління, умовні оператори та оператори циклів. До виконуваних операторів відносять і оператори присвоєння, які забезпечують присвоєння змінної чи константі конкретного значення. Наприклад, оператор Х=5 є оператором присвоєння значення 5 змінної X. Оператори передачі управління застосовуються рідко, оскільки призводять до заплутаності програми і цим сприяють появі помилок. До операторів передачі управління відносяться оператор безумовного переходу GoTo, за допомогою якого можна передати управління оператору, позначеному спеціальною міткою. Наприклад: ш: Х=5 GoTo m Мітка відокремлюється від оператора двокрапкою і ставиться зліва від нього. Оператори вибору Оператори вибору служать зміни ходу обчислювального процесу залежно від значення певної умови. Тому їх ще називають умовними операторами. У VBA є два типи операторів вибору - це оператор типу If. Then та оператор Select Case. Перший з них здійснює вибір однієї з двох альтернатив, залежно від значення умови - Істина чи Брехня.Другий є перемикачем і реалізує вибір однієї з безлічі можливих альтернативних варіантів. Оператор If. Then Цей оператор має дві форми запису – скорочену та повну. Повна форма має вигляд: If (умова) Then перший блок операторів Else другий блок операторів End If. Якщо умова істинна, то виконується оператор або оператори, які йдуть за ключовим словом Then (то). Якщо умова помилкова, то виконується оператор або оператори, які йдуть за ключовим словом Else (інакше). При записі цього оператора дотримується правило: оператори, що виконуються, розташовуються на окремих рядках, причому перший блок операторів розташовується між рядками, що містять ключові слова Then і Else, а другий блок операторів - між рядками з ключовими словами Else і End If. Таким чином, для повного запису оператора потрібно щонайменше п'ять рядків.
Скорочена форма відрізняється від повної тим, що в ній відсутнє ключове слово Else: If (умова) Then блок операторів End If Відповідно до цієї форми якщо умова істинна, то виконується оператор або оператори, які йдуть за ключовим словом Then. Якщо умова хибна, виконується оператор, наступний за End If. Наприклад, при виконанні фрагмента програми If (X> 0) Then У = Х Л 2 End If Z = 2 значення змінної X буде зведено в квадрат і результат надається змінної У, якщо буде виконано умова Х> 0. Якщо значення виразу Х>0 виявиться хибним, то оператор У=ХЛ2 виконуватися не буде і управління буде передано оператору Z=2. Оператор If. Then може мати у своєму складі інший оператор If. Then. Такі оператори називаються вкладеними один в одного і застосовуються в тих випадках, коли потрібна перевірка не однієї, а одразу двох умов.Приклад вкладеного оператора If. Тут при X = 2 отримаємо Y = 4, а при X = 3 отримаємо Y = 5. Вкладення може бути і багаторазовим, якщо потрібна перевірка кількох умов. Тут важливо пам'ятати, що чергова альтернатива Else відноситься до найближчого оператора If, який не має гілки Else. У VBA допускається також конструкція з використанням кількох операторів If. Then, наприклад: IfX>5 Then Y=X A 2 ElseIfX>3 Then Y=X+1 Else Y=X-1 End If Використання декількох операторів If . Then дозволяє перевірити додаткову умову за помилкової вихідної умови. Наприклад, якщо Х=4, то перше умова, Х>5, дає значення False, а друге, Х>3, дає значення True, і в результаті отримаємо значення Y=5. За Х=2 отримаємо Y=l. На відміну від інших форм запису, ця форма запису оператора має у своєму складі ключове слово Elself. Оператор Select Case (перемикач) Цей оператор дозволяє зробити вибір одного варіанта з безлічі альтернативних варіантів залежно від значення умовного виразу. Приклад: Select Case X Case 1 ?="Один" Case 60 То 80 Y="Xopoino" Case Is 7 Для виконання однотипних операцій над кожним елементом деякої сукупності даних, наприклад, масиву т, можна застосувати оператор: For Each i In m m(i)=m(i) Л 2 Next За допомогою цього оператора кожен елемент i масиву m буде зведено у квадрат. Аналогічні дії можна виконати і над діапазоном осередків електронної таблиці: Cells(i, 2).Value=Cells(i, l). Оператори циклу з умовою
Оператор While. Wend. Відмінною особливістю цього циклу є деяка умова. Цикл виконується доти, доки умова дає значення True (Істина).Наприклад, цикл:
- • не можна увійти у внутрішній цикл, минаючи вхід зовнішнього циклу;
- • не допускається повторення імен параметрів простих циклів у складі складного циклу;
- • закінчення внутрішнього циклу має передувати закінченню зовнішнього циклу.
Написання вказівок Visual Basic
Оператор Visual Basic - це повна команда. Він може містити ключові слова, оператори, змінні, константи та вирази. Кожен оператор належить одній з наступних трьох категорій:
- Оператори об'яви, які називають змінну, константу або процедуру, а також можуть вказувати тип даних.
- Інструкції присвоювання, які надають значення або вираз змінної чи константі.
- Інструкції, що виконуються, які ініціюють дії. Ці оператори дозволяють виконувати методи або функції, а також можуть виконувати цикли і розгалуження по блоках коду. Оператори, що виконуються, часто містять математичні та умовні оператори.
Продовження інструкції з кількох рядків
Оператор зазвичай поміщається в один рядок, але оператор можна продовжити на наступний рядок за допомогою символу продовження рядка. У наступному прикладі виконуваний оператор MsgBox триває на трьох рядках:
Sub DemoBox() 'Ця процедура розкриває string variable, ' assigns it the value Claudia, and then displays ' a concatenated message. Dim myVar As String myVar = "John" MsgBox Prompt:="Hello " & myVar, _ Title:="Greeting Box", _ Buttons:=vbExclamation End Sub
Додавання приміток
Коментарі дозволяють пояснити процедуру або конкретну інструкцію будь-якому програмному коду. Середовищем Visual Basic ігноруються коментарі, коли нею виконуються процедури.Рядки коментарів починаються з апострофа ( ' ) або з Rem пробілом і можуть бути додані в будь-яке місце процедури. Щоб додати коментар на той самий рядок, що й оператор, вставте після оператора апостроф і введіть коментар. За промовчанням коментарі відображаються у вигляді зеленого тексту.
Перевірка синтаксичних помилок
Якщо після набору рядка коду натиснуто клавішу ВВЕДЕННЯ, і рядок відображається червоним (може також відображатися повідомлення про помилку), необхідно з'ясувати, що неправильно в операторі і потім виправити його.
також
Підтримка та зворотний зв'язок
Є питання або відгуки щодо Office VBA або цієї статті? Посібник з інших способів отримання підтримки та надсилання відгуків див. у статті Підтримка Office VBA та зворотній зв'язок.