Excel VBA Правете докато цикъл

Да, докато Loop означава да направите нещо, докато условието е ИСТИНСКО. Това е като логическа функция, която работи на базата на ИСТИНСКА или ЛЕЖНА. Така че, ако условието е ИСТИНСКО, то ще продължи да изпълнява оператора в цикъла, но ако условието е FALSE веднага, той ще излезе от оператора Do while. Работата на VBA Do while Loop е показана на фигурата, дадена по-долу.

Синтаксис на Do while Loop във VBA Excel

Да, докато Loop има два вида синтаксис в Excel VBA.

И двете изглеждат много сходни и в тях има едно просто разграничаване.

В първия синтаксис цикъл „Докато” проверява състоянието първо и дава резултата на условието като ИСТИНСКА или ЛЕЖНА. Ако условието е ИСТИНСКО, то ще изпълни кода и ще извърши определена задача и ако условието е ЛЕЖНО, то ще излезе от цикъла.

Във втория синтаксис цикъл „Do“ първо ще изпълни кода и след това тества дали условието е ИСТИНСКО или ЛЕЖНО. Ако условието е ИСТИНСКО, то отново ще се върне и ще изпълни същата задача. Ако условието е FALSE, то веднага ще излезе от цикъла.

Пример за Excel VBA Do while Loop

Ако не сте разбрали нищо в теорията, не се притеснявайте. Ще ви обясня простия набор от примери, за да имате справедливи познания за този цикъл.

Можете да изтеглите този шаблон на VBA Do while Loop Excel тук - VBA Do while Loop Excel шаблон

Сега ще изпълним задачата да поставим първите 10 серийни номера от клетка А1 до А10. Следвайте стъпките по-долу, за да приложите цикъл „Правете докато“.

Етап 1:

Първо създайте име на макрос

Код:

 Sub Do_While_Loop_Example1 () Край Sub 

Стъпка 2:

Определете променлива като "Long". Определих „k“ като дълъг тип данни.

Код:

 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) .Value = k Край Sub 

Забележка: Тук променлива „k“ започва от 1, така че в началото k стойността е равна на 1. Където и да е „k“, тя е равна на 1.

Стъпка 5:

Сега затворете контура, като въведете думата „LOOP“.

Код:

 Sub Do_While_Loop_Example1 () Dim k as Long Do докато k <= 10 клетки (k, 1) .Value = k Loop End Sub 

Добре, свършихме. За по-добро разбиране ви позволява да тествате този код един по един, като натиснете клавиша F8 веднъж.

Първо натиснете клавиша F8, той ще маркира името на макроса с жълт цвят.

Сега още веднъж натиснете клавиша F8, той ще премине към Do while Loop. Поставете курсора на „k“ и вижте каква е стойността.

Значи, K = 0. Причината, поради която "k" е равна на нула, защото тук цикълът не е стартиран. Натиснете F8 още веднъж и вижте каква е стойността.

Все пак стойността „k“ е нула. Добре, нека направим едно нещо сега, спрете изпълнението на макрос и задайте стойността на „k“ като 1, преди цикълът да започне.

Сега вътре в цикъла преназначете k стойността като k = k +1.

Сега започнете процеса на изпълнение на кодовия ред по ред чрез натискане на клавиша F8. Започнете да натискате F8 и вижте каква е стойността, когато изпълнява цикъла "Докато".

Код:

 Sub Do_While_Loop_Example1 () 

Dim k as Long

к = 1

Направете Докато k <= 10
Клетки (k, 1) .Value = k
k = k + 1

контур

Край Sub

Така че стойността „k“ е равна на 1. Където и да е „k“, е равна на стойността на 1. Така че редът от код на клетките (k, 1). Стойността = k е равна на:

Клетки (1, 1) .Value = 1, т.е. ред 1 и колона 1 (A1 клетка) стойността е равна на 1.

Натиснете клавиша F8 и изпълнете действие вътре в цикъла.

Сега погледнете стойността в клетка A1.

Така получихме стойността 1 в клетка А1.

Сега изпълнете следващия ред, като натиснете клавиша 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 докато Loop изпълнява задачата, докато условието е ИСТИНСКО.
  • Можем също да тестваме състоянието в началото на цикъла или също в края на цикъла.
  • Условието за движение е FALSE, то ще излезе от цикъла и няма да изпълни задачата.

Препоръчителни статии

Това е ръководство за VBA Do while Loop. Тук обсъдихме как да използваме Excel VBA Do while Loop, заедно с някои практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

  1. Как да използваме FIND функцията в Excel?
  2. Методи за използване на VBA функция в Excel
  3. Начини за използване на VBA функция в Excel
  4. Как да използвате VBA VLOOKUP функция?

Категория: