Excel VBA робити до циклу
Робіть, поки цикл продовжить повторювати твердження, поки умова / критерії не стануть ПРАВИЛЬНИМ. Він буде виконувати твердження до тих пір, поки умови будуть ЛЮДИМИ. Як тільки умова / критерії стають ПРАВИЛЬНИМ, це припиняє цикл. Це може виглядати як протилежне циклу Do while, коли цикл працює до тих пір, поки критерії істинні, і припиняються, як тільки критерії ЛЖЕ.
Дивіться схему потоку нижче, де пояснюється функціонування циклу Do till:
Синтаксис Do Do Loop в Excel VBA
До тих пір, поки Loop не має двох видів синтаксису в Excel VBA.
Синтаксис 1:
Робіть цикл, поки не буде (Умова) (Виконання заяви)
Синтаксис 2:
Зробити (заяви, що виконуються) Цикл до (Умова)
Основна відмінність цих двох синтаксисів - це виконання. У першому синтаксисі цикл завжди перевірятиме, чи умова є "Вірно" чи "Неправдивим". Якщо вона помилкова, вона повторить цикл знову. Як тільки умова / критерії виконані, це припинить цикл. У цьому випадку існує ймовірність, що цикл припиняється під час першої самої ітерації (якщо умова є істинною). Отже, у цьому випадку ви не отримаєте жодного результату. Однак у другому синтаксисі цикл спочатку виконає оператори, а потім перевірить, чи справді це правда чи помилково. Якщо умова є помилковою, вона знову виконає той самий набір операторів і перевірить умову. Якщо сама перша ітерація дає умову як True, ця петля припиняється, але перед цим буде виконано оператор. У цьому випадку ми отримаємо принаймні одну ітерацію (Як нульовий вихід).
Нарешті, вихід двох кодів буде однаковим. Однак страта - це те, що відрізняє цих двох.
Приклад Excel VBA "До циклу"
Давайте подивимось приклади Do Do Loop в Excel VBA.
Ви можете завантажити цей шаблон VBA "До циклу Excel" тут - VBA "До циклу"Приклад №1 - VBA робити до циклу, коли умови перевіряються на початку
Виконайте наведені нижче дії, щоб застосувати цикл "До тих пір" у Excel VBA.
Крок 1: Вставте новий модуль у Visual Basic Editor (VBE), щоб мати можливість писати код.
Крок 2. Визначте підпроцедуру, яка може зберігати макрокод, який ви будете писати.
Код:
Sub Do_Until_Ex1 () Кінець Sub
Крок 3: Визначте нову змінну "X" з типом даних як "Довгий". Ця змінна може бути використана як умова / критерій у циклі Do Do.
Код:
Sub Do_Until_Ex1 () Dim X як довгий кінець Sub
Крок 4: Встановіть початкове значення на 1 для змінної X.
Код:
Sub Do_Until_Ex1 () Dim X As Long X = 1 Кінець Sub
Крок 5. Почніть цикл із ключових слів "До тих пір".
Код:
Sub Do_Until_Ex1 () Dim X як довгий X = 1 Do Do End Sub
Крок 6: Вкажіть критерії як X = 11 у пункті "До". Це умова, яка дозволяє циклу розірватися, коли це правда. Це означає, що цикл буде працювати, поки значення X = 11. Як тільки значення для X дорівнює 11, цикл припиняється.
Код:
Sub Do_Until_Ex1 () Dim X як довгий X = 1 Do до X = 11 End Sub
Крок 7: Тепер використовуйте клітини VBA. Функція значення, щоб мати можливість додавати квадрат кожного числа до X під першим стовпцем.
Код:
Sub Do_Until_Ex1 () Dim X як довгий X = 1 Do до X = 11 комірок (X, 1) .Value = X * X End Sub
Крок 8: Знову нам потрібно встановити приріст у X на 1, так що кожного разу, коли цикл запускається і перевіряє стан, він перейде до наступного числа і збереже значення його квадрата у відповідній комірці до числа 11.
Код:
Sub Do_Until_Ex1 () Dim X як довгий X = 1 Do до X = 11 комірок (X, 1) .Value = X * XX = X + 1 Кінець Sub
Крок 9: Завершіть цю цикл "До тих пір", ввівши ключове слово "Петля" в кінці коду.
Код:
Sub Do_Until_Ex1 () Dim X як довгий X = 1 Do до X = 11 комірок (X, 1) .Value = X * XX = X + 1 Кінець циклу Sub
У цьому коді ми хотіли мати значення у квадраті для чисел, починаючи з 1 до 11 (Як тільки значення дорівнює 11, цикл припиняється). Під кожною коміркою листа excel (поки номер клітини 11) значення зберігатимуться. Збільшення 1 одиниці дозволяє число кожного разу збільшуватись на 1 у попередньому значенні X, а значення квадрата цього числа друкується у відповідній комірці. Наприклад, значення Squared for 3 буде надруковано під 3- ою коміркою активного листа excel. Цей цикл працює до тих пір, поки X не дорівнює 11. Отже, під коміркою A1 до комірки A10 ми отримуємо значення квадрата числа, починаючи від 1 до 10 (у циклі № 11 закінчується).
Крок 10: Натисніть кнопку «Виконати» або натисніть клавішу F5, щоб запустити цей код і побачити вихід.
Приклад №2 - Робіть цикл, поки не перевіряються умови в кінці циклу
Виконайте наведені нижче дії, щоб застосувати цикл "До тих пір" у Excel VBA.
Крок 1: Визначте нову процедуру під модулем VBE.
Код:
Sub Do_Until_Ex2 () Кінець Sub
Крок 2: Визначте змінну "Y" з типом даних як "Довгий". Ця змінна буде корисною в циклічних умовах.
Код:
Sub Do_Until_Ex2 () Dim Y як довгий кінець Sub
Крок 3: Встановіть початкове значення змінної "Y" як 1.
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Кінець Sub
Крок 4: Додайте умову, ввівши Do в наступному рядку після встановлення початкового значення Y на 1.
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do End Sub
Крок 5: Додайте фрагмент коду, який потрібно виконати під циклом Do. Тут ми візьмемо той самий приклад, що і вище (це допоможе нам дізнатися, як результати є однаковими, але компіляції відрізняються для двох цих кодів).
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Приклад 2"). Клітини (Y, 1) .Value = Y * Y Кінець Sub
Крок 6: Після кожної ітерації циклу ви хочете, щоб значення було збільшено на 1 одиницю, встановіть команду для цього в розділі Do.
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Приклад 2"). Клітини (Y, 1) .Value = Y * YY = Y + 1 Кінець Sub
Крок 7: Додайте завершальний виступ для цього циклу з ключовим словом як "Цикл".
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Приклад 2"). Клітини (Y, 1) .Value = Y * YY = Y + 1 Кінець петлі Sub
Зачекай! Є щось більше. Потрібно додати критерії / умови до цього циклу, на цей раз після ключового слова Loop. Це дозволить компілятору перевірити стан в кінці циклу.
Крок 8: Додайте до Y = 11 як умову після циклу ключового слова.
Код:
Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Приклад 2"). Клітини (Y, 1) .Value = Y * YY = Y + 1 петля, поки Y = 11 Кінець Sub
Крок 9: Запустіть цей код, натиснувши кнопку F5 або Запустити і подивіться магію під аркушем під назвою "Приклад 2".
Як працює цей код?
Система квадратикує до значення Y щоразу під циклом і зберігає її під другим стовпцем аркуша під назвою "Приклад 2" рядок за рядком. Після кожної ітерації поточне значення Y збільшується на 1 одиницю, а оновлене значення розміщується в квадраті та зберігається. Поки значення менше, ніж значення критерію (Y = 11), код буде виконувати квадрат і зберігати його. Як тільки компілятор значень досягає значення Y = 11, він припиняє виконання коду і припиняє те саме.
Обидва коди дають аналогічний вихід, але логічно є компіляція для обох. У першому типі коду умова перевіряється на початку циклу, і якщо вона помилкова, то лише цикл починає оцінювати наступний вираз. Однак у другому прикладі код починає виконувати цикл та виконувати оператори Do на початку (зберігання значень у буферній пам'яті для операторів виконання). В кінці циклу компілятор виходить із критерієм і перевіряє те саме, що має значення буфера.
Що потрібно пам’ятати
- VBA Do Пока - це точно зворотний випадок Excel VBA Do while. VBA Do Поки цикл працює до тих пір, поки умова буде ПРАВИЛЬНА. Після того, як умова ЛІЖНА, цикл Do while припиняється. З іншого боку, VBA Do Dok працює до тих пір, поки умова ЛІЖНА. Як тільки умова є ПРАВИЛЬНОЮ, цикл припиняється.
- Він має два способи розгляду, один, коли стан перевіряється на початку циклу, а інший, коли стан перевіряється в кінці циклу.
Рекомендовані статті
Це посібник з VBA Do till Loop. Тут ми обговорюємо, як використовувати Excel VBA Do till Loop разом з деякими практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -
- VBA Хоча петля
- LOOKUP Формула в Excel
- Повні навчальні посібники з циклів VBA
- Таблиця пошуку в Excel