Excel VBA перерва для циклу

VBA Break використовується, коли ми хочемо вийти або перервати безперервний цикл, який має певні фіксовані критерії. Для циклу в межах діапазону визначаються оператори, які виконуються повторно протягом певного часу. Іноді, коли ми використовуємо будь-яку умову циклу в VBA, часто трапляється, що код продовжує працювати без кінця або перерви. Щоб уникнути подібних ситуацій, рекомендується використовувати деякі перерви або функції виходу, за допомогою яких ми можемо вийти з циклу за допомогою вимірюваного виводу з макросу.

Як використовувати перерву Excel VBA для циклу?

Ми дізнаємось, як використовувати VBA перерву для циклу з кількома прикладами в Excel.

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

Приклад №1 - перерва VBA для циклу

Ми побачимо приклад, коли при використанні для циклу впорядкування критеріїв не буде порушено. Але для виправлення цього ми будемо використовувати цикл If-End . Для цього нам потрібен Модуль, куди ми будемо писати цей код.

Виконайте наведені нижче дії, щоб використовувати перерву для циклу в Excel VBA.

Крок 1: Відкрийте новий модуль, перейдіть до вікна VBA і в цьому виберіть пункт «Модуль» у меню Вставка.

Крок 2: Це перенесе нас до нового модуля в VBA. Тепер у цей модуль запишіть підкатегорію під назвою VBA Break For Loop або в будь-якому іншому імені, яке визначає його значення.

Код:

 Sub VBABreak1 () Кінець Sub 

Крок 3: Тепер визначте DIM як будь-який алфавіт чи слово. Це надає йому ідентичності. Тут ми використовуємо алфавіт "A" нижче.

Код:

 Sub VBABreak1 () Dim A End Sub 

Крок 4: Тепер призначте його як Ціле число, яке використовується лише для чисел, як показано нижче.

Код:

 Sub VBABreak1 () Dim A As Integer End Sub 

Крок 5: Тепер призначіть числове значення цілому числу А. Скажімо, це 10, як показано нижче.

Код:

 Sub VBABreak1 () Dim A As Integer A = 10 End Sub 

Крок 6: Тепер запустіть цикл For і розгляньте будь-яке початкове значення A. Краще взяти це значення як Нульове. Це стає простим для обчислення.

Код:

 Sub VBABreak1 () Dim A як цілий A = 10 для A = 0 to A Крок 2 Кінець Sub 

Крок 7: І для того, щоб надрукувати значення, збережене в A, ми використаємо поле повідомлення, яке отримає його значення. Ви також можете використовувати будь-яку форму речення, щоб зробити поле повідомлень більш значущим, що є необов'язковим. Ми використовували його, як показано нижче.

Код:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 to A Step 2 MsgBox ("Значення A є:" & A) Наступний кінець Sub 

Крок 8: Тепер скомпілюйте код покроково, використовуючи функціональну клавішу F8, після чого запустіть код, натиснувши кнопку Відтворити, як показано нижче. Ми бачимо, що вихід на кожному кроці буде від 0 до 10 у кроковій зазорі 2, як показано нижче.

Крок 9: Тепер нарешті закрийте для циклу, а також використовуйте Далі в кінці. "Далі" використовується, коли ми використовуємо цифри в коді.

Код:

 Sub VBABreak1 () Dim A як ціле число A = 10 для A = 0 до кроку 2 MsgBox ("Значення A це:" & A) Вихід для наступного кінця Sub 

Крок 10: Це показує, що цикл не завершений, і нам потрібно також заповнити критерії виходу, щоб вийти з циклу For. І для цього ми будемо використовувати умову If-End Loop. Тож розглянемо можливість написання if циклу для того ж Integer A. Тут виберіть межу, доки не захочете запустити цикл. Ми розглянули це як 4.

Код:

 Sub VBABreak1 () Dim A як ціле число A = 10 для A = 0 до кроку 2 MsgBox ("Значення A це:" & A) Якщо A = 4, тоді вийдіть для наступного кінця Sub 

Крок 11: Тепер додамо ще один критерій, в якому ми будемо використовувати, скільки разів він отримав би помножений на будь-яке число. Скажімо, це 10. Ви можете вибрати будь-яке інше число замість 10. Але використання 10 дозволяє легко зрозуміти цикл множення.

Код:

 Sub VBABreak1 () Dim A як цілий A = 10 для A = 0 до кроку 2 MsgBox ("Значення A це:" & A) Якщо A = 4, тоді A = A * 10 Вихід для наступного кінця Sub 

Крок 12: Тепер знову використовуйте поле з іменем, як ми звикли для циклу For, і нарешті закрийте оператор If Loop with End if, як показано нижче.

Код:

 Sub VBABreak1 () Dim A As Integer A = 10 For A = 0 to A Step 2 MsgBox ("Значення A є:" & A) Якщо A = 4, то A = A * 10 MsgBox ("Значення A є : "& A) Вихід для кінця, якщо Sub End Next Sub 

Крок 13: Знову складіть код і запустіть його. Для Loop почнеться з показу повідомлення зі значенням 0, а потім з 2, 4 і закінчення його 40. Що означає, що для Loop зламався при 3- й ітерації та прийняв останнє значення як 40.

Приклад №2 - перерва VBA для циклу

У цьому прикладі ми застосуємо для циклу For і побачимо, як зламати цикл, коли він задовольняє критеріям.

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

Код:

 Sub VBABreak2 () Кінець Sub 

Крок 2: Тепер визначте DIM A як цілий. Використання Integer для тестування дозволяє нам швидше реалізувати код і легко налагодити.

Код:

 Sub VBABreak2 () Dim A As Integer End Sub 

Крок 3: Тепер запустіть цикл For для визначеного цілого числа і дайте йому діапазон від будь-якого числа рядків, починаючи з 1. Ми вибрали до 20.

Код:

 Sub VBABreak2 () Dim A як ціле число для A = 1 до 20 End Sub 

Крок 4: Тепер дайте діапазон або місце розташування, звідки номери друкуються послідовно. Ми використовували ThisWorkBook для вибору поточного відкритого файлу та робочих таблиць (1) для вибору першого аркуша відкритої робочої книги, як показано нижче. Тепер, щоб закрити цикл For, напишіть Next у кінці, як показано нижче.

Код:

 Sub VBABreak2 () Dim A як цілий число для A = 1 до 20 ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Крок 5: Запустіть вищевказаний код вручну або за допомогою клавіші швидкого доступу F5. Ми можемо бачити, що код дав число від 1 до 20.

Крок 6: Тепер, щоб розбити цикл між 0 і 20, ми будемо використовувати If-End, якщо умова циклу, де ми дамо критерії, як показано нижче.

Код:

 Sub VBABreak2 () Dim A як цілий число для A = 1 до 20 If End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Крок 7: Тепер запишіть критерії: Якщо A більше 9 (Або будь-яке число, але менше 20), тоді Вийдіть для, як показано нижче. Ми припускаємо, що цикл має бути зламаний, коли цикл досягне 9.

Код:

 Підряд VBABreak2 () Dim A як цілий число для A = 1-20 

Крок 8: Тепер складіть код, щоб знайти помилку. Якщо помилки не знайдено, запустіть її. Ми побачимо, що для цілого числа A заповнюються значення від 1 до 20, поки код не вийшов або порушений у позиції 9.

Плюси VBA перерви для циклу

  • Вихід або Перерва можна використовувати не тільки для циклу For, але і для багатьох інших циклів, таких як Do-while.
  • Це найчастіше використовується серед усіх умов циклу, наявних у VBA.
  • Для циклу це досить просто і може працювати навіть без критеріїв виходу.

Що потрібно пам’ятати

  • Для циклу може працювати без надання критеріїв Exit. Це може спрацювати до тих пір, поки критерії без Exit не порушать цикл до кінця.
  • Важливо розірвати будь-який цикл, який не відповідає критеріям виходу, використовуючи Exit у циклі.
  • Після написання коду збережіть файл як Macro Enable Excel, щоб збережений записаний код.

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

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

  1. VBA InStr пояснив із прикладами
  2. Тип даних цілочисельного VBA
  3. Як вибрати клітинку за допомогою коду VBA?
  4. Перемістіть діапазон у VBA

Категорія: