Excel VBA "До цикъл"

Направете, докато цикълът ще продължи да повтаря изявленията, докато условието / критериите станат ИСТИНСКИ. Той ще изпълнява изявленията, стига условията да са ЛЕЧНИ. Щом условието / критериите станат ИСТИНСКИ, той прекратява цикъла. Тя може да изглежда като противоположна на цикъл „Докато е“, където цикълът се изпълнява, стига критериите да са ИСТИНСКИ и да се прекратява, щом критериите са ЛЕЖНИ.

Вижте схемата на потока по-долу, която обяснява работата на цикъла „До до“:

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

Правете, докато Loop има два вида синтаксис в Excel VBA.

Синтаксис 1:

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

Синтаксис 2:

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

Основната разлика между тези два синтаксиса е в изпълнението. В първия синтаксис цикълът винаги ще проверява дали условието е True или False. Ако е False, той ще повтори цикъла отново. Щом условието / критериите са верни, то ще прекрати цикъла. В този случай има възможност цикълът да бъде прекратен при първоначално само итерация (ако условието е Истина). Следователно в този случай няма да получите никакви резултати. Въпреки това, във втория синтаксис цикълът първоначално ще изпълни операторите и след това ще провери условието дали е True или False. Ако условието е False, то отново ще изпълни същия набор от оператори и ще провери състоянието. Ако първата итерация сама по себе си дава условие като True, този цикъл се прекратява, но преди това ще бъде изпълнен оператор. В този случай ще получим поне една итерация (Като нула).

И накрая, изходът на двата кода ще бъде еднакъв. Изпълнението обаче е нещо, което различава тези две.

Пример за Excel VBA "До цикъл"

Нека да видим примерите Do Do Loop в Excel VBA.

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

Пример №1 - VBA „До цикъл“, когато условията са проверени в началото

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

Стъпка 1: Поставете нов модул под Visual Basic Editor (VBE), за да можете да пишете код.

Стъпка 2: Определете под-процедура, която може да съхранява макро кода, който ще пишете.

Код:

 Sub Do_Until_Ex1 () End Sub 

Стъпка 3: Определете нова променлива „X“ с тип данни като „Long“. Тази променлива може да се използва като условие / критерии в цикъл "До".

Код:

 Sub Do_Until_Ex1 () Dim X As Long End Sub 

Стъпка 4: Задайте началната стойност на 1 за променливата X.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 край Sub 

Стъпка 5: Започнете цикъла с ключови думи „До“.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do Dok End Sub 

Стъпка 6: Посочете критериите като X = 11 под „До“. Това е условие, което позволява на цикъла да се прекъсне, когато е True. Това означава, че цикълът ще работи, докато стойността на X = 11. Веднага щом стойността за X се равнява на 11, цикълът ще прекрати.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do докато X = 11 End Sub 

Стъпка 7: Сега използвайте VBA клетки. Стойност функция, за да можете да добавите квадрата на всяко число до X под първата колона.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do докато X = 11 клетки (X, 1) .Value = X * X End Sub 

Стъпка 8: Отново трябва да зададем прираста в X по 1, така че всеки път, когато цикълът се изпълни и провери състоянието, той ще премине към следващото число и да съхраняваме квадратната му стойност в съответната клетка до номер 11.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do докато X = 11 клетки (X, 1) .Value = X * XX = X + 1 End Sub 

Стъпка 9: Завършете този цикъл „До докато“, като въведете ключовата дума „Loop“ в края на кода.

Код:

 Sub Do_Until_Ex1 () Dim X As Long X = 1 Do докато X = 11 клетки (X, 1) .Value = X * XX = X + 1 Loop End Sub 

В този код ние искахме да имаме квадратни стойности за числа, започващи от 1 до 11 (Щом стойността е 11, цикълът се прекратява). Под всяка клетка на лист excel (до номер на клетка 11) стойностите ще се съхраняват. Увеличението на 1 единица позволява числото всеки път да се увеличава с 1 в предишната стойност на X, а стойността на квадрата на това число се отпечатва в съответната клетка. Например, квадратна стойност за 3 ще бъде отпечатана под 3 -та клетка на активния лист excel. Този цикъл работи, докато X не е равен на 11. Следователно, под клетка А1 до клетка A10, получаваме квадратните стойности на число, започващи от 1 до 10 (при номер 11 цикъл приключва).

Стъпка 10: Натиснете бутона Run или натиснете клавиша F5, за да стартирате този код и да видите изхода.

Пример №2 - Правете до цикъл, когато условията са проверени в края на цикъла

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

Стъпка 1: Определете нова под-процедура под VBE модул.

Код:

 Sub Do_Until_Ex2 () End Sub 

Стъпка 2: Определете променлива "Y" с тип данни като "Long". Тази променлива ще бъде полезна при прихващане на условията.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long End Sub 

Стъпка 3: Задайте началната стойност на променлива „Y“ като 1.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 End Sub 

Стъпка 4: Добавете условие, като напишете Do на следващия ред, след като зададете началната стойност на Y на 1.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do End Sub 

Стъпка 5: Добавете частта от кода, която искате да бъде изпълнена под Do цикъл. Тук ще вземем същия пример като по-горе (това ще ни помогне да разберем как резултатите са еднакви, но компилациите са различни за два от тези кодове).

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Пример 2"). Клетки (Y, 1) .Value = Y * Y End Sub 

Стъпка 6: След всяка итерация на цикъла, искате стойността да бъде увеличена с 1 единица, задайте команда за това под раздел Do.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Пример 2"). Клетки (Y, 1) .Value = Y * YY = Y + 1 End Sub 

Стъпка 7: Добавете заключителен израз за този цикъл с ключова дума като „Loop“.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Пример 2"). Клетки (Y, 1) .Value = Y * YY = Y + 1 Loop End Sub 

Дръжте се! Има нещо повече. Трябва да добавите критериите / условието под този цикъл, този път след ключовата дума Loop. Това ще позволи на компилатора да провери състоянието в края на цикъла.

Стъпка 8: Добавете до Y = 11 като условие след Loop Ключова дума.

Код:

 Sub Do_Until_Ex2 () Dim Y As Long Y = 1 Do Sheets ("Пример 2"). Клетки (Y, 1) .Value = Y * YY = Y + 1 цикъл, докато Y = 11 Край Sub 

Стъпка 9: Стартирайте този код, като натиснете F5 или Run бутона и вижте магията под лист, наречен „Пример 2“.

Как работи този код?

Системата квадрат до стойността на Y всеки път под цикъла и го съхранява под втората колона на листа, наречена „Пример 2” ред по ред. След всяка итерация текущата стойност на Y се увеличава с 1 единица и актуализираната стойност се квадратира и съхранява. Докато стойността е по-малка от стойността на критерия (Y = 11), кодът ще направи квадрата и ще го запази. Щом компилаторът на стойности достигне до стойност Y = 11, той спира изпълнението на кода и прекратява същото.

И двата кода дават сходен изход, но логично има разлика в компилациите и за двете. В първия тип код състоянието се проверява в началото на цикъла и ако е False, само цикълът започва да оценява следващия израз. Въпреки това, във втория пример, кодът стартира цикъл и изпълнява оператори Do в началото (запаметяване на стойностите в буферна памет за операторите за изпълнение). В края на цикъла компилаторът излиза с критерий и проверява същото със стойността на буфера.

Неща, които трябва да запомните

  • VBA Do till е точно обратният случай на Excel VBA Do while. VBA Do Докато цикълът работи, докато условието е ИСТИНСКО. След като условието е FALSE, Do while цикълът се прекратява. От друга страна, VBA Do till работи, докато условието е ЛЕЖНО. Щом условието е ИСТИНСКО, цикълът се прекратява.
  • Той има два начина на производство, един, при който състоянието се проверява в началото на цикъла и друго, когато състоянието се проверява в края на цикъла.

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

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

  1. VBA Докато цикъл
  2. LOOKUP Формула в Excel
  3. Попълнете уроци по VBA контури
  4. Таблица за търсене в Excel

Категория: