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

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

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

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

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

Пример

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

Следвайте стъпките по-долу, за да приложите цикъла „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 в клетка А2.

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

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

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

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

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

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

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

Интересни статии...