VBA робити до петлі | Покрокові приклади використання Do Do у VBA

Що таке Do Do Loop у VBA Excel?

У VBA Do Do Loop нам потрібно визначити критерії після оператора till, що означає, коли ми хочемо, щоб цикл зупинився, а кінцевий оператор - це сам цикл. Отже, якщо умовою є FALSE, він буде продовжувати виконувати оператор усередині циклу, але якщо умова має значення TRUE відразу, це виведе оператор Do Do.

Оскільки в самих словах сказано, що виконувати якесь завдання до досягнення критерію, виконувати до тих пір, поки цикл не використовується майже у всіх мовах програмування, у VBA також іноді використовується цикл Do till. Do Do Loop означає робити щось, доки умова не стане TRUE. Це як логічна функція, яка працює на основі TRUE або FALSE.

Це протилежне циклу Do While, де Do while виконує цикли, якщо умова TRUE.

Синтаксис

Цикл Do till має два типи синтаксису.

Синтаксис No1 

 Виконуйте, поки [умова] [Виконання певного завдання] не повториться 

Синтаксис No2

 Виконуйте [Виконати деяке завдання] Цикл до [умова] 

Обидва виглядають дуже схожими, і є одна проста диференціація.

У першому синтаксисі цикл «Зробити до» спочатку перевіряє стан і отримує результат умови TRUE або FALSE. Якщо умова FALSE, він виконає код і виконає задане завдання, а якщо умова TRUE, то він вийде з циклу.

У другому синтаксисному циклі “Do” спочатку він виконує завдання cod, а потім перевіряє, чи є умова TRUE чи FALSE. Якщо умова FALSE, вона знову повернеться назад і виконає те саме завдання. Якщо умова TRUE, то він негайно вийде з циклу.

Приклад

Я знаю, що не так просто зрозуміти щось у теоретичній частині, але нічого страшного. Ми дамо вам прості приклади, щоб зрозуміти цикл. Читайте далі. Щоб розпочати навчання, виконаймо завдання вставити перші 10 серійних номерів із комірки А1 до А10.

Ви можете завантажити цей шаблон VBA "До шаблону Excel" тут - VBA "До шаблону Excel"

Виконайте наведені нижче дії, щоб застосувати цикл «Виконати до».

Крок 1: Спершу створіть ім’я макросу, щоб запустити підпроцедуру.

Код:

 Sub Do_Until_Example1 () Кінець Sub 

Крок 2: Визначте змінну як “Long”.  Я визначив “x” як довгий тип даних.

Вимірювати х як довго

Крок 3: Тепер введіть слово "Зробити до".

Робити до

Крок 4: Після запуску імені циклу введіть умову як “x = 11”.

 Робити до х = 11

x = 11 - це логічний тест, який ми застосували. Отже, цей рядок говорить про запуск циклу, доки х не дорівнює 11.

Крок 5: Застосуйте властивість CELLS і введіть серійні номери від 1 до 10.

Клітини (x, 1). Значення = x

Примітка: Тут ми згадали "x" починається з 1, тому спочатку значення x дорівнює 1. Де б не було "x", дорівнює 1.

Крок 6: Тепер закрийте цикл, ввівши слово “LOOP”.

 Sub Do_Until_Example1 () Dim x As Long Long до x = 11 комірок (x, 1). Значення = x петля 

Кінець Sub

Добре, ми закінчили з частиною кодування, тепер ми будемо тестувати коди рядок за рядком, щоб краще зрозуміти цикл.

Для запуску рядкового коду спочатку натисніть клавішу F8.

Спочатку він виділить назву макросу жовтим кольором.

Коли ви бачите жовту лінію, це означає, що це не виконується, коли виконується, якщо ви ще раз натиснете клавішу F8.

Тепер натисніть клавішу F8 ще раз, жовта лінія перейде до Do Do Loop.

Тепер, щоб зрозуміти цикл, поставте курсор на змінну “x” і подивіться на значення змінної “x”.

Отже, x = 0. Оскільки виділений рядок є першим рядком у циклі, тому значення “x” дорівнює нулю, тому ще раз натисніть клавішу F8 і перегляньте значення “x”. Перед цим виходом виконується код і присвоюється значення "x" як 1.

Тепер знову запустіть цикл, натискаючи клавішу F8. Дивіться значення “x”.

Тепер значення “x” відображається як 1. Щоб мати інкрементальне значення до змінної “x”, нам потрібно перепризначити значення змінної “x” як x = x + 1 всередині циклу.

Тепер натисніть клавішу F8 ще раз, і ми отримаємо значення 1 у комірці A1.

Тепер ще раз натисніть клавішу F8 і подивіться, яке значення має "x".

Значення змінної “x” зараз 2. Отже, наша умова каже запускати цикл, поки умова не стане TRUE, тому наш цикл продовжує працювати, поки значення “x” не стане 11.

Натисніть клавішу F8 ще раз, і вона повернеться до рядка циклу “Do Do”.

Натисніть клавішу F8 ще два рази, ми отримаємо значення 2 у комірці A2.

Натисніть клавішу F8 ще раз, і значення “x” стає 3 зараз.

Натисніть клавішу F8 ще раз, і вона знову повернеться до циклу.

Подібно до цього, цей цикл буде продовжувати виконувати завдання, поки значення “x” не стане 11. Тепер я виконував цикл, поки значення “x” не стане 11.

Тепер, якщо я натисну F8, він все одно повернеться до циклу.

Але якщо я зараз натисну клавішу F8, це вийде з циклу, оскільки застосована умова стає “TRUE”, тобто x = 11.

Отже, ми маємо серійні номери від 1 до 10 на аркуші Excel.

Отже, це основна ідея циклу “Do Do”. Щоб зрозуміти будь-які цикли, вам потрібно запускати код рядок за рядком, поки ви не отримаєте повних знань про цикли.