VBA Do Do Loop | Примери стъпка по стъпка за използване Do Do във VBA

Какво е Do Do Loop във VBA Excel?

Във VBA Do Do Loop трябва да дефинираме критерии след оператора till, което означава, когато искаме цикълът да спре и крайният оператор е самият цикъл. Така че, ако условието е FALSE, то ще продължи да изпълнява оператора вътре в цикъла, но ако условието е TRUE веднага, то ще излезе от инструкцията Do Do.

Тъй като думите сами по себе си казват, че за да се изпълни някаква задача, докато се достигне критерий, Do докато цикълът се използва в почти всички езици за програмиране, във VBA също понякога използваме Do до loop. Do Do Loop означава да направите нещо, докато условието стане TRUE. Това е като логическа функция, работеща въз основа на TRUE или FALSE.

Това е обратното на цикъла Do While, когато Do while изпълнява цикли, стига условието да е TRUE.

Синтаксис

Цикълът Do Do има два вида синтаксис.

Синтаксис # 1 

 Правете до [условие] [Изпълнение на някаква задача] Цикъл 

Синтаксис # 2

 Направете [Изпълнение на някаква задача] Цикъл до [условие] 

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

В първия синтаксис цикълът „Направи до“ проверява първо условието и получава резултатът на условието е TRUE или FALSE. Ако условието е FALSE, той ще изпълни кода и ще изпълни определена задача, а ако условието е TRUE, то ще излезе от цикъла.

Във втория синтаксис “Do” цикъл първо ще изпълни задачата cod, след което тества дали условието е TRUE или FALSE. Ако условието е FALSE, той отново ще се върне и ще изпълни същата задача. Ако условието е TRUE, то веднага ще излезе от цикъла.

Пример

Знам, че не е толкова лесно да се разбере нещо в теоретичната част, но няма какво да се тревожи. Ще ви дадем лесни примери за разбиране на цикъла. Прочетете. За да започнем обучението, нека изпълним задачата за вмъкване на първите 10 серийни номера от клетка А1 до А10.

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

Следвайте стъпките по-долу, за да приложите цикъла „Do Do“.

Стъпка 1: Създайте първо име на макрос, за да стартирате подпроцедурата.

Код:

 Sub Do_Until_Example1 () Край Sub 

Стъпка 2: Определете променлива като „Long“.  Определих „x“ като дълъг тип данни.

Dim x As Long

Стъпка 3: Сега въведете думата „Do Do“.

Правете до

Стъпка 4: След стартиране на името на цикъла въведете условието като „x = 11“.

 Правете до x = 11

x = 11 е логическият тест, който сме приложили. Така че този ред казва да изпълнявате цикъла, докато x не е равно на 11.

Стъпка 5: Приложете свойството CELLS и нека вмъкнем серийни номера от 1 до 10.

Клетки (x, 1). Стойност = x

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

Стъпка 6: Сега затворете цикъла, като въведете думата „LOOP“.

 Sub Do_Until_Example1 () Dim x As Long Long докато x = 11 клетки (x, 1). Стойност = x Loop 

Крайна под

Добре, приключихме с кодиращата част, сега ще тестваме кодовете ред по ред, за да разберем по-добре цикъла.

За да стартирате ред по ред, първо натиснете клавиша F8.

Първо ще подчертае името на макроса с жълт цвят.

Когато можете да видите жълтата линия, се казва, че това не се изпълнява с почти изпълнение, ако натиснете клавиша F8 още веднъж.

Сега натиснете клавиша F8 още веднъж, жълтата линия ще премине към Do Do Loop.

Сега, за да разберете цикъла, поставете курсор върху променливата „x“ и вижте стойността на променливата „x“.

И така, x = 0. Тъй като маркираният ред е първият ред в цикъла, така че стойността на “x” е нула, затова натиснете клавиша F8 още веднъж и вижте стойността на “x”. Преди този изход кодът се изпълнява и присвоява стойността на „x“ като 1.

Сега отново започнете изпълнението на цикъл, като натиснете клавиша F8. Вижте стойността на „x“.

Сега стойността на „x“ се показва като 1. За да имаме инкрементална стойност на променливата „x“, трябва да преназначим стойността на променлива „x“ като x = x + 1 вътре в цикъла.

Сега натиснете клавиша F8 още веднъж и трябва да получим стойността 1 в клетка A1.

Сега натиснете клавиша F8 още веднъж и вижте каква е стойността на “x”.

Стойността на променлива “x” е 2 сега. Така че нашето условие казва да изпълняваме цикъла, докато състоянието стане TRUE, така че нашият цикъл продължава да работи, докато стойността на “x” стане 11.

Натиснете F8 още веднъж, за да се върне обратно към линията на цикъла „Do Do“.

Натиснете клавиша F8 още два пъти, ще получим стойността 2 в клетка A2.

Натиснете отново клавиша F8 и стойността на “x” става 3 сега.

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

По този начин, този цикъл отново ще продължи да изпълнява задачата, докато стойността на “x” стане 11. Сега изпълних цикъла, докато стойността на “x” стане 11.

Сега, ако натисна F8, пак ще се върне към цикъла.

Но ако сега натисна клавиша F8, той ще излезе от цикъла, защото приложеното условие става „TRUE“, т.е. x = 11.

Така че сега имаме серийни номера от 1 до 10 в Excel лист.

И така, това е основната идея на цикъла „Do Do“. За да разберете всички цикли, трябва да стартирате кода ред по ред, докато не получите пълните познания за цикли.