Управляюча структура While Wend
Ця структура дозволяє виконувати визначені дії доти, доки виконується задана умова.
Приклад:
Sub TestWhileWend()
Dim iCount As Byte
While iCount < 100
iCount = iCount + 1
Wend
MsgBox "Кількість повторень: " & iCount
End Sub
Коментарі:
While – ключове слово, що означає початок циклу;
iCount < 100 – умова, при виконанні якої буде виконуватись тіло циклу;
Wend – ключове слово, що означає кінець циклу.
Управляюча конструкція Do Until Loop
Приклад:
Sub TestDoLoop()
Dim iCount As Byte
Do Until iCount >= 100
iCount = iCount + 1
Loop
MsgBox "Кількість повторень: " & iCount
End Sub
Коментарі:
Do – ключове слово, що означає початок циклу;
Until – ключове слово, що означає наявність умови;
iCount >= 100 – умова, при виконанні якої буде виконуватись тіло циклу;
Loop – ключове слово, що означає кінець циклу.
Цикл із післямовою – цикл, у якому умова перевіряється після виконання тіла циклу. Звідси треба, що тіло завжди виконується хоча б один раз. У VBA цей цикл реалізує оператор Do Loop.
Управляюча конструкція Do Loop
Цей оператор дозволяє виконувати тіло циклу доти, доки не буде виконана задана умова.
Приклад:
Sub TestDoLoop2()
Dim iCount As Byte
Do
iCount = iCount + 1
Loop Until iCount = 100
MsgBox "Кількість повторень: " & iCount
End Sub
Коментар:
iCount = 100 – умова, при виконанні якої буде виконуватись тіло циклу.
Умова, що задана у кінці циклу гарантує, що він буде виконаний хоча б один раз. При некоректній умові можна отримати практично perpetuum mobile.
Цикл із виходом із середини — найбільш загальна форма умовного циклу. Синтаксично такий цикл оформляється за допомогою трьох конструкцій: початку циклу, кінця циклу й команди виходу із циклу. Конструкція початку маркірує крапку програми, у якій починається тіло циклу, конструкція кінця – крапку, де тіло закінчується. Усередині тіла повинна бути присутнім команда виходу із циклу, при виконанні якої цикл закінчується й керування передається на оператор, що випливає за конструкцією кінця циклу. Природно, щоб цикл виконався більше одного разу, команда виходу повинна викликатися не безумовно, а тільки при виконанні умови виходу із циклу.
Приклад:
Sub TestForNext3()
Dim iCount As Integer, i As Byte
For iCount = 300 To 1 Step -3
i = i + 1
If iCount = 153 Then Exit For
Next iCount
MsgBox "Число повторений : " & i
End Sub
Коментарі:
If iCount = 153 Then - в этом VBA коде мы применили уже известную нам инструкцию If Then Else
Exit For - инструкция означающая досрочный выход из цикла
Приклад:
Sub TestDoLoop3()
Do
iCount = iCount + 1
If iCount = 50 Then Exit Do
Loop Until iCount = 100
MsgBox "Число повторений : " & iCount
End Sub
Обратите внимание на :
If iCount = 50 Then - в этом VBA коде мы опять применили уже известную нам инструкцию If Then Else
Exit Do - инструкция означающая досрочный выход из цикла
Вкладені цикли. Існує можливість організувати цикл усередині тіла іншого циклу. Такий цикл буде називатися вкладеним циклом. Вкладений цикл стосовно циклу в тіло якого він вкладений буде йменуватися внутрішнім циклом, і навпаки цикл у тілі якого існує вкладений цикл буде йменуватися зовнішнім стосовно вкладеного. Усередині вкладеного циклу у свою чергу може бути вкладений ще один цикл, утворюючи наступний рівень вкладеності й так далі. Кількість рівнів вкладеності як правило не обмежується.
Ще одним варіантом циклу є цикл, що задає виконання деякої операції для об’єктів із заданої множини, без явної вказівки порядку перерахування цих об’єктів. Такі цикли називаються спільними (а також циклами по колекції, циклами перегляду) і являють собою формальний запис інструкції виду: «Виконати операцію X для всіх елементів, що входять до множини M». Спільний цикл, теоретично, ніяк не визначає, у якому порядку операція буде застосовуватися до елементів множини. У VBA цей цикл реалізує оператор For Each Next.
Дата добавления: 2015-07-22; просмотров: 446;