Excel VBA делать во время цикла

Делать в то время как цикл означает что-то делать, когда условие ИСТИНА. Это похоже на логическую функцию, которая работает на основе ИСТИНА или ЛОЖЬ. Таким образом, если условие TRUE, оно будет продолжать выполнять инструкцию внутри цикла, но если условие будет FALSE сразу же, оно выйдет из оператора Do While. Работа VBA Do While Loop показана на рисунке ниже.

Синтаксис цикла Do While в VBA Excel

У цикла Do Loop есть два вида синтаксиса в Excel VBA.

Оба выглядят очень похожими, и в них есть одно простое отличие.

В первом синтаксисе цикл «Do While» сначала проверяет условие и выдает результат условия как TRUE или FALSE. Если условие ИСТИНА, он выполнит код и выполнит заданную задачу, а если условие ЛОЖЬ, то выйдет из цикла.

Во втором синтаксисе цикл «Do» сначала выполняет код, а затем проверяет, является ли условие ИСТИНА или ЛОЖЬ. Если условие ИСТИНА, оно снова вернется и выполнит ту же задачу. Если условие ЛОЖНО, оно сразу же выйдет из цикла.

Пример Excel VBA делать во время цикла

Если вы ничего не поняли в теоретической части, волноваться нечего. Я объясню вам простой набор примеров, чтобы иметь представление об этом цикле.

Вы можете скачать этот шаблон VBA Do Loop Excel здесь - Шаблон VBA Do While Loop Excel

Теперь мы выполним задачу вставки первых 10 серийных номеров из ячейки A1 в A10. Выполните следующие шаги, чтобы применить цикл «Пока».

Шаг 1:

Сначала создайте имя макроса.

Код:

 Sub Do_While_Loop_Example1 () End Sub 

Шаг 2:

Определите переменную как «Long». Я определил «k» как тип данных long.

Код:

 Sub Do_While_Loop_Example1 () Dim k As Long End Sub 

Шаг 3:

Теперь введите слово «Делай пока». И после запуска имени цикла введите условие как «k <= 10».

Код:

 Sub Do_While_Loop_Example1 () Dim k As Long Do Пока k <= 10 End Sub 

Шаг 4:

Теперь используя свойство CELLS, давайте вставим серийные номера.

Код:

 Sub Do_While_Loop_Example1 () Dim k As Long Do Пока k <= 10 ячеек (k, 1). Значение = k End Sub 

Примечание: здесь переменная «k» начинается с 1, поэтому сначала значение k равно 1. Где бы ни находилось «k», оно равно 1.

Шаг 5:

Теперь закройте цикл, введя слово «LOOP».

Код:

 Sub Do_While_Loop_Example1 () Dim k As Long Do Пока k <= 10 ячеек (k, 1). Значение = k Loop End Sub 

Хорошо, мы сделали. Для лучшего понимания давайте проверим этот код один за другим, нажав клавишу F8 один раз.

Сначала нажмите клавишу F8, он выделит название макроса желтым цветом.

Теперь еще раз нажмите клавишу F8, и он перейдет к циклу «делать во время». Поместите курсор на «k» и посмотрите, каково значение.

Итак, К = 0. Причина, по которой «k» теперь равна нулю, потому что цикл здесь не запускается. Нажмите F8 еще раз и посмотрите, каково значение.

Тем не менее, значение «к» равно нулю. Хорошо, давайте сделаем одну вещь сейчас, остановим запуск макроса и присвойм значение «k» как 1 до начала цикла.

Теперь внутри цикла переназначим значение k как k = k +1.

Теперь запустите процесс выполнения кода построчно, нажав клавишу F8. Начните нажимать клавишу F8 и посмотрите, каково значение, когда он выполняет цикл «Do While».

Код:

 Sub Do_While_Loop_Example1 () 

Dim K As Long

к = 1

Делай пока k <= 10
Ячейки (k, 1). Значение = k
k = k + 1

петля

End Sub

Таким образом, значение «k» равно 1. Где бы ни находилось «k», оно равно значению 1. Итак, строка кода Cells (k, 1). Значение = k равно:

Ячейки (1, 1). Значение = 1, т.е. значение строки 1 и столбца 1 (ячейка А1) равно 1.

Нажмите клавишу F8 и выполните действие внутри цикла.

Теперь посмотрите на значение в ячейке A1.

Таким образом, мы получили значение 1 в ячейке A1.

Теперь выполните следующую строку, нажав клавишу F8, и посмотрите, каково значение «k».

Итак, теперь значение k равно 2. Так что где бы ни было k, оно равно 2.

Нажмите клавишу F8, теперь код вернется, чтобы проверить значение k.

Теперь нажмите еще два раза клавишу F8 и посмотрите, какое значение находится в ячейке A2.

Например, пока цикл Loop продолжает выполнять задачу вставки серийных номеров, пока значение k не достигнет 11. Теперь я уже выполняю построчно, пока значение k не станет 10.

Теперь, если я нажму еще раз клавишу F8, она вернется, чтобы проверить условие, но не выполнит строку кода, потому что значение k больше 10.

Если я нажму клавишу F8, он сразу же выйдет из цикла и перейдет к End Sub.

Окончательный вывод дается следующим образом.

Подобным образом VBA Do While Loop может использоваться для выполнения одного и того же набора задач, пока данное условие не станет ИСТИНОЙ.

То, что нужно запомнить

  • VBA Do While Loop выполняет задачу до тех пор, пока условие не станет TRUE.
  • Мы также можем проверить условие в начале цикла или также в конце цикла.
  • Условие движения - ЛОЖЬ, оно выйдет из цикла и не выполнит задачу.

Рекомендуемые статьи

Это руководство для VBA Do While Loop. Здесь мы обсудили, как использовать Excel VBA Do While Loop вместе с некоторыми практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Как использовать функцию поиска в Excel?
  2. Методы использования функции VBA в Excel
  3. Способы использования функции VBA в Excel
  4. Как использовать функцию VBA VLOOKUP?

Категория: