VBA Хоча петля

VBA Хоча цикл - важлива і потужна концепція, яку ви могли бачити в більшості мов програмування. Якщо ви освоїте цю концепцію в VBA, ви зможете підготувати потужні сценарії, які працюють з даними електронних таблиць абсолютно різними та зручними способами. У цій статті приготуйтеся досліджувати світ різних, а циклів разом із кількома прикладами, які приходять на вашу допомогу.

Мета циклу "Хоча" - повторити певний блок висловлювань, за умови дотримання умови. Точніше, поки цикл повторює відповідне висловлювання, тоді як умова - True. Як тільки умова стає Неправильною (Не відповідає), цикл припиняється сам.

В основному існує два типи циклу while в Microsoft Excel VBA:

  • Цикл VBA у той час як Венд
  • Цикл Do-while VBA

VBA Хоча-Венд-цикл існує, щоб зробити код сумісним із старішою версією кодів. VBA Do-while - це оновлена ​​версія циклу while, який є більш гнучким та структурованим порівняно з попереднім і рекомендується використовувати спільнотою Microsoft.

Про всяк випадок, вам цікаво, що означає Венд, це коротка форма Хоча Кінець і працює так само.

Приклади VBA Хоча петля

Давайте зануримося в покрокову інструкцію різних типів VBA while Loops.

Ви можете завантажити цей шаблон VBA while Loop Excel тут - VBA шаблон для циклу Excel

Приклад №1

Цикл VBA у той час як Венд

Синтаксис:

Візьмемо приклад, щоб побачити це кращим чином.

  • Визначте підпроцедуру створення макросу під новим модулем.

Код:

 Sub ХочаEx1 () Закінчення Sub 

  • Встановіть дві змінні номер один і сума до нуля.

Код:

 Sub ХочаEx1 () Число = 1 Сума = 0 Кінець Підряд 

  • Встановіть умову для змінної числа.

Код:

 Sub ХочаEx1 () Число = 1 Сума = 0 Хоча Число <= 10 Кінець Підряд 

  • Додайте заяви для виконання під час умови.

Код:

 Sub ХочаEx1 () Число = 1 Сума = 0 Хоча Число <= 10 Сума = Сума + Число Число = Число + 1 Кінець Під 

  • Додайте Debug.Print Sum, щоб суму перших 10 натуральних чисел можна було надрукувати по одному у негайному вікні.

Код:

 Sub ХочаEx1 () Число = 1 Сума = 0 У той час, як Число <= 10 Сума = Сума + Число Число = Число + 1 Відлад. 

  • Нарешті, закінчіть цикл «Хоча» викладом Wend.

Код:

 Sub ХочаEx1 () Число = 1 Сума = 0 У той час, як Число <= 10 Сума = Сума + Номер Число = Число + 1 Відлад. 

  • Натисніть F5 або Run Button, щоб запустити цей код і побачити вихід.

У цьому коді змінна сума встановлюється до нуля. Тож кожен раз, коли число збільшується на 1, поки воно не досягне 10 (використовуючи цикл while), змінна сума додасть попередню суму до поточного числа та відобразить її під рядком Негайне вікно за рядком або покроковою сумою, яку можна сказати.

Приклад №2

Цикл Do-while VBA

Цикл "Do-while", коли стан перевіряється перед початком циклу

Є два способи, коли цикл може бути виконаний.

  • Ви можете додати умову до початку циклу (це те саме, що і цикл Хоча-Венда). Тут не було б ітерації циклу, якщо умова вперше вийде з ладу.
  • Ви можете додати умову в останньому циклі, щоб перевірити. У такому випадку перед тим, як умова стане невиконаною, буде щонайменше одна ітерація циклу.

Синтаксис:

Візьмемо один приклад, щоб зробити речі зрозумілішими.

  • Вставте новий модуль і визначте нову підпроцедуру для визначення макросу.

Код:

 Sub ХочаEx2 () Закінчення Sub 

  • Визначте нову змінну I як ціле число. І ініціювати його значення до 1.

Код:

 Sub ХочаEx2 () Dim i Dim Integer i = 1 Кінець Sub 

  • Використовуйте Do-while, щоб додати умову на початку циклу.

Код:

 Sub ХочаEx2 () Dim i Dim Integer i = 1 Do while i <= 10 End Sub 

  • Додайте заяви, які потрібно виконати до тих пір, поки умова справдиться. Додайте до макросу рядок коду нижче.

Код:

 Sub ХочаEx2 () Dim i Dim Integer i = 1 Do while i <= 10 комірок (i, 1) .Value = i * i End Sub 

Це твердження дозволяє в i-му рядку першого стовпця зберігати значення квадратів чисел.

  • Додайте ще одне твердження, яке дозволяє збільшувати i на 1 на кожній ітерації циклу.

Код:

 Sub ХочаEx2 () Dim i Dim Integer i = 1 Do while i <= 10 комірок (i, 1) .Value = i * ii = i + 1 Кінець циклу Sub 

  • Завершіть цю петлю, додавши оператор Loop в кінці коду.

Давайте подивимося на вирішення цього коду:

Для значень i від 1 (спочатку i = 1) до 10 він обчислює, i * i (тобто квадратне значення для кожного цілого значення i) і вводить його під рядки 1 до 10 стовпця 1 (тобто стовпця A) відповідно . Вихід - це не що інше, як квадратні значення цілих чисел 1 до 10.

  • Запустіть цей код, натиснувши кнопку F5 або Запустити і подивіться вихід.

Ви можете побачити квадратні значення натуральних чисел від 1 до 10, які зберігаються у кожній комірці окремо стовпця А.

Приклад №3

Цикл Do-while, коли в кінці циклу відмічається Умова

Синтаксис:

Давайте подивимось приклад, щоб побачити петлю кращим чином.

  • Вставте новий модуль і визначте нову під-процедуру для зберігання макросу.

Код:

 Sub ХочаEx3 () Закінчення Sub 

  • Визначте нове ціле число i те саме, що і в попередньому прикладі, і призначте йому початкове значення.

Код:

 Sub ХочаEx3 () Dim i Dim Integer i = 1 Кінець Sub 

  • Використовуйте умову Do, щоб додати оператори, що виконуються, доки умова справжня.

Код:

 Sub ХочаEx3 () Dim i Dim Integer i = 1 Do Cell (i, 2) .Value = i * ii = i + 1 End Sub 

Рекомендується використовувати пробіл (клавіша Tab) як відступ, показаний у наведеному вище коді, що дозволяє безперебійному виконанню коду, а також визначає хороший формат структури коду.

  • Використовуйте цикл, щоб додати умову, яка перевіряється для кожного оператора, який потрібно виконати.

Код:

 Sub ХочаEx3 () Dim i Dim Integer i = 1 Do Cell (i, 2) .Value = i * ii = i + 1 цикл у той час як i <= 10 Кінець Sub 

  • Запустіть цей код, натиснувши кнопку F5 або Запустити вручну і побачити вихід.

Ви побачите вихід, як показано на малюнку вище.

Як працює цей кодекс у бекенд?

Система множує значення i (починаючи з 1) на себе і зберігає у другому стовпці (комірки (i, 2)) для кожного рядка по одному. Код припиняється виконувати, як тільки значення змінної i досягає 10. Вихід може бути однаковим, що логічно означає, що обидва коди працюють як однакові. Але головна відмінність полягає в складанні коду. В останньому прикладі умова вже була, і система знала, до якого числа вона має йти. Однак у цьому коді система не знає про стан під час виконання операторів і виконує ітерацію по черзі. Поки умова помилкова, код припиняється виконувати.

Що потрібно пам’ятати про VBA в той час, як цикл

  • Цикл «Хоча-Венда» застарілий і чи просто він сумісний із старими версіями кодів. Натомість слід використовувати цикл Do-while.
  • Цикл Do-while є більш гнучким і добре структурованим в порівнянні з циклом Хоча-Венда.
  • Цикл "Do-while" може використовуватися двома способами, коли в одному випадку ви можете спочатку додати умову, яку потрібно перевірити, а потім додати заяви, що задовольняють умові. Іншим способом ви можете додати оператори спочатку, а пізніше додати умову, що перевіряється.
  • Відступи рекомендується використовувати в циклі, щоб код міг бути більш динамічним і легшим для читання.

Рекомендовані статті

Це було керівництвом до VBA Do while Loop. Тут ми обговорили, як використовувати Excel VBA Do while Loop разом з деякими практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Як використовувати функцію FIND в Excel?
  2. Як використовувати функцію VBA TRIM?
  3. Масиви VBA | Повний підручник
  4. Як використовувати корпус VBA Select?

Категорія: