VBA Break For Loop - Как да изляза за цикъл в Excel VBA?

Съдържание

Excel VBA Break For Loop

Във VBA Break For Loop е известен също като изход за цикъл, на всеки цикъл във всяка процедура е даден набор от инструкции или критерии, за да може да се изпълнява броят на времето, но е много често някой цикъл да попадне в безкраен цикъл, като по този начин корумпира код в такива сценарии се нуждаем от прекъсване или изход за цикъл, за да излезе от определени ситуации.

Да приемем, че сме инструктирали цикъла да се изпълнява 10 пъти и въз основа на даденото условие, ако стойността на клетката или който и да е друг предоставен критерий е успешен, тогава той трябва да излезе от цикъла на excel, преди да изпълни пълната квота от 10. В тази статия ще ви покажем как да излезете от цикъла въз основа на дадените критерии.

Как да прекъсна / изляза от цикли в VBA?

# 1 - Прекъсване за следващия цикъл

VBA For Next Loop се използва за прелистване на клетки и изпълнение на определен набор от задачи. Например погледнете кода по-долу VBA.

Код:

Sub Exit_Loop () Dim K толкова дълго за K = 1 до 10 клетки (K, 1). Стойност = K Следващ K Край Sub

Това ще вмъкне серийни номера от клетка А1 до А10.

Това е очевидното нещо за For Next Loop.

Сега искам да прекъсна цикъла, когато в първите 10 клетки се намери някаква стойност. За това въведох някаква текстова стойност в клетката A8.

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

Код:

Sub Exit_Loop () Dim K толкова дълго, колкото K = 1 до 10, ако клетки (K, 1).

Вижте тези редове код:

Ако клетки (K, 1) .Value = “” Тогава
клетки (K, 1) .Value = K
Друг
изход за
край Ако

Пише If Cells (K, 1). Стойност = „контурната клетка е равна на нищо, продължете цикъла на въвеждане на серийни номера от 1 до 10.

Последната част от цикъла казва:

Иначе

Изход за

Ако горното условие не е TRUE, тогава цикълът „Exit For“.

Сега стартирайте кода. Той ще вмъква серийни номера до клетката A7.

Горният код веднага излезе от цикъла, без да каже нищо; как да разберем, че е излязъл от цикъла.

За да изчистим тази неяснота, трябва да поставим едно просто поле за съобщения на VBA по-долу.

Код:

Sub Exit_Loop () Dim K толкова дълго, колкото K = 1 до 10, ако клетки (K, 1). Клетки (K, 1). Адрес & vbNewLine & "Излизаме от цикъла" Изход за край, ако следващ K край

При прелитане през клетката, ако се намери някоя непразна клетка, тя ще покаже съобщението, казващо: „В клетка A8 имаме непразна клетка. Излизаме от цикъла ”.

Това ще информира потребителя за изхода на цикъла и с адрес на клетка. Ако някаква стойност е въведена по погрешка, тогава можем да проверим адреса на клетката, върнат в полето за съобщение.

# 2 - Break Do Do Loop

Подобно на това как сме излезли от Next Loop, по същия начин можем да излезем и от цикъла „Do Do“. Например погледнете кода по-долу.

Код:

Sub Exit_DoUntil_Loop () Dim K толкова дълго K = 1 Правете до K = 11 клетки (K, 1). Стойност = KK = K + 1 Loop End Sub

Този код изпълнява и задачата за вмъкване на серийни номера. Например, ако искаме да излезем от цикъла, когато стойността на променливата „k“ стане 6, трябва да въведем критериите като АКО k = 6, след това да излезем от цикъла.

Код:

Sub Exit_DoUntil_Loop () Dim K толкова дълго K = 1 Направете до K = 11 Ако K <6 Тогава клетки (K, 1). Стойност = K Друг изход Do End Ако K = K + 1 Loop End Sub

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

Код:

Sub Exit_DoUntil_Loop () Dim K Long Long K = 1 Направете до K = 11 If K 5 "Exit Do End End Ако K = K + 1 Loop End Sub

Това ще покаже съобщението по-долу.

По този начин, въз основа на дадените критерии, можем да излезем от цикъла, ако критериите са ИСТИНСКИ, или в противен случай можем да продължим цикъла.

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