Циклы vba: полное руководство для начинающих

Важные моменты

  1. Использование циклов в VBA может быть полезно, если вы хотите выполнить повторяющуюся задачу.
  2. Вы также можете использовать цикл внутри другого цикла (вложение).
  3. Будьте осторожны при создании бесконечного цикла.

Что такое LOOP в VBA?

В VBA LOOP — это структура, которая может повторять инструкцию. Проще говоря, цикл может выполнять одно или несколько действий и возвращаться к началу, чтобы начать заново определенное количество раз или до тех пор, пока не будет выполнено условие. Этот цикл выполнения цикла называется итерацией.

vba-петля-структура1

Типы LOOP в VBA

В VBA можно использовать шесть различных типов циклов, но их также можно описать двумя основными категориями.

  1. Для Next : Чтобы использовать FOR NEXT LOOP, вы должны установить число в качестве счетчика количества раз выполнения цикла. Если вы хотите выполнить цикл 10 раз, вам необходимо установить это значение для счетчика.
    vba-for-next-loop
  2. For Each : с помощью FOR EACH вы можете просматривать все объекты в коллекции объектов. Поскольку каждая коллекция имеет заданное количество объектов, это делает ее фиксированным циклом.
  3. Цикл Do While : проверяет условие, а затем продолжает выполнять действие, пока это условие истинно. Проще говоря, сначала он проверяет условие и выполняет оператор только в том случае, если это условие выполнено.
  4. Do Loop While : работает так же, как «Do While», но сначала выполняет итерацию действия, а затем проверяет условие, и если это условие истинно, оно продолжает выполнять это действие.
  5. Цикл Do Until : он проверяет условие, а затем продолжает выполнять оператор, который вы определили, до тех пор, пока это условие не станет ЛОЖНЫМ, и в тот момент, когда это условие станет ИСТИНОЙ, он остановится. По сути, это противоположность «Делай пока».
  6. Цикл до : работает так же, как «Делай до», но сначала повторяет действие, а затем проверяет условие, и если это условие ЛОЖНО, оно продолжает выполнять это действие.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *