Excel VBA: пояснена процедура циклів.

Петлі Excel VBA

Цикли є одним з найпотужніших і потужних інструментів програмування в VBA, і використовується на більшості мов програмування. Цикли використовуються для повторення блоку коду стільки разів, скільки потрібно, поки певна умова не залишається вірною, або досягається певна точка (або значення), після чого виконується наступний розділ коду. Цикл дає змогу написати кілька простих рядків коду і досягти набагато більш значного виходу, просто повторенням.
  • Для циклу
    • Для ... Наступні заяви
    • Для кожного ... Наступні заяви
  • Зробіть під час циклу
    • Здійснюйте, хоча ... Висновки
    • Зробіть ... Loop while заяв
  • Робіть до циклу
    • Робіть до ...
    • Здійснюйте ... Loop до заяви

Існують три основні види циклів VBA (розділені на 6 циклів, як показано нижче):

Для циклу

Для ... Наступні заяви

повторює блок коду певну кількість разів.

У наступному прикладі буде показано MsgBox протягом 5 разів і буде показано номер.

 Sub F_Next_loop () Dim i As Integer Для i = 1 до 5 MsgBox i Наступний i Закінчити Sub 

Для кожного ... Наступні заяви

Для кожного ... Наступна петля повторює блок коду для кожного об'єкта в групі. Це повторює виконання блоку коду, для кожного елемента колекції. Цикл припиняється, коли всі елементи в колекції були охоплені, і виконання переходить до розділу коду відразу після наступного оператора.

 Sub F_each_loop () Розділити клітинку як діапазон для кожної клітини в ActiveSheet.Range ("A1: A10") Cell.Interior.Color = RGB (160, 251, 142) 

 Оператор Exit For негайно припинить виконання існуючого циклу і виконає розділ коду, що безпосередньо слідує за наступним оператором, 

Зробіть під час циклу

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

Здійснюйте, хоча ... Висновки

перевірити стан на початку,

 Sub do_While () Dim i As Integer i = 1 Доки клітинки (i, 1) .Value MsgBox ii = i + 1 Loop MsgBox i End Sub 

Зробіть ... Loop while заяв

перевірте стан в кінці циклу

 Sub do_While () Dim i As Integer i = 1 Виконайте MsgBox ii = i + 1 Loop Хоча клітини (i, 1) .Value MsgBox i End Sub 

 Оператор Exit Do негайно припинить виконання існуючого циклу і виконає розділ коду відразу після наступного оператора, 

Робіть до циклу

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

Робіть до ...

перевірити стан на початку,

 Sub do_Until () Dim i As Integer i = 1 До тих пір, поки IsEmpty (клітинки (i, 1)) Клітинки (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 Sub 

Здійснюйте ... Loop до заяви

перевірте стан в кінці циклу.

 Sub do_Until () Dim i As Integer i = 1 До клітинок (i, 1) .Interior.Color = RGB (255, 0, 0) i = i + 1 Loop До тих пір, поки не буде порожній (клітинки (i, 1)) 
Попередня Стаття Наступна Стаття

Кращі Поради