VBA за следващ - Ръководство за използване на Excel VBA за следващо изявление

Excel VBA за следващ цикъл

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

Цикълът „For Next“ е един от тези цикли, който се използва много често от другите цикли при кодиране на VBA. Циклите ще ни помогнат да повторим същия вид задача за определени клетки, докато условието е ИСТИНА.

FOR LOOP циклично преминава през диапазона от клетки и изпълнява конкретна задача, докато условието е TRUE. Например, ако искате да преминете през първите 10 клетки и да вмъкнете серийни номера, увеличени с 1, можете да използвате FOR NEXT цикъл.

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

Той включва три параметъра.

За изявление = Начална точка до крайна точка (Изпълнете някаква задача) Следващо изявление

От началната точка цикълът ще стартира и изпълни някаква задача, след като завърши задачата, преминава към следващия цикъл и отново изпълнява същата задача в различната клетка. По този начин, докато достигне крайната точка, той продължава да изпълнява определената задача.

Как да използвам VBA за следващ цикъл?

Да предположим, че искате да вмъкнете серийни номера от 1 до 10 до A1 до A10 клетки. Разбира се, можем да вмъкнем като писане на десет реда код.

Код:

Sub For_Next_Loop_Example1 () Диапазон ("A1"). Стойност = 1 диапазон ("A2"). Стойност = 2 диапазон ("A3"). Стойност = 3 диапазон ("A4"). Стойност = 4 диапазон ("A5") .Значение = 5 Обхват ("A6"). Стойност = 6 Обхват ("A7"). Стойност = 7 Обхват ("A8"). Стойност = 8 Обхват ("A9"). Стойност = 9 Обхват ("A10") . Стойност = 10 Крайна под

Но какво, ако искам да вмъкна 100 серийни номера? Разбира се, не мога да напиша 100 реда код само за да вмъкна серийни номера. Тук се появява красотата на цикъла „FOR NEXT“ . Следвайте стъпките по-долу, за да минимизирате кода.

Стъпка 1: Първо, трябва да дефинираме променлива. Декларирах името на променливата, наречено „Serial_Number“, като цяло число тип данни.

Код:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer End Sub

Стъпка 2: Сега поръчвам да приложа цикъл FOR NEXT, нашата цел е да вмъкнем серийни номера от 1 до 10, така че това означава, че цикълът ни трябва да работи десет пъти. Така че изявлението FOR LOOP трябва да бъде такова.

За Serial_Number = 1 до 10

Следващ сериен номер

Код:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer For Serial_Number = 1 to 10 Next Serial_Number End Sub

Стъпка 3: Приложихме цикъла. След като цикълът е приложен, трябва да уточним какво трябва да направим вътре в цикъла. Нашата цел тук е да вмъкнем серийни номера от 1 до 10. Затова напишете кода като Клетки (Serial_Number, 1) .Value = Serial_Number.

Код:

Sub For_Next_Loop_Example2 () Dim Serial_Number As Integer Dim Serial_Number = 1 To 10 Cells (Serial_Number, 1) .Value = Serial_Number Dim Serial_Number End Sub

Стъпка 4: Причината, поради която дадохме Serial_Number в свойството CELLS, защото тук не можем да посочим хардкор номера за референция. Всеки път, когато цикълът работи, искам да вмъкна новия сериен номер в новата клетка, а не в същата клетка.

Стъпка 5: Стартирайте кодовия ред по ред, като натиснете клавиша F8.

Стъпка 6: Поставете курсор върху променливата Serial_Number; показва текущата стойност на Serial_Number.

В този момент стойността на Serial_Number е нула.

Стъпка 7: Натиснете още веднъж бутона F8, жълтият цвят ще се премести в следващия ред код във VBA. Сега поставете курсор върху Serial_Number.

Сега стойността на Serial_Number е равна на единица, защото сега цикълът е стартиран и нашият цикъл започва от 1, така че стойността на променливата Serial_Number е равна на единица.

Още едно интересно нещо е навсякъде, където има променливата Serial_Number, което също е равно на 1.

Така че в свойството клетки споменахме кода като:

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

Това означава клетки (1, 1). Стойност = 1. (клетки (1,1) означава ред1 и колона1.

Така че в ред номер 1 и колона номер 1 стойността трябва да бъде 1.

Стъпка 8: Сега натиснете F8 още веднъж и вижте какво се случва в Ред1 & Колона1, т.е. клетка А1.

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

Стъпка 9: Сега натиснете клавиша F8 още веднъж. Обикновено следващият код трябва да бъде стартиран, т.е. в края на подсъобщението. Но тук ще се върне към „горната линия“.

Стъпка 10: Запомнете цикъла, който вече е завършил първото изпълнение. Сега се връща за втори път. Сега поставете курсор върху променливата Serial_Number и вижте каква е стойността.

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

Сега, където и да е Serial_Number, е равно на стойността на 2. Така че кодът на реда:

Клетки (Serial_Number, 1) .Value = Serial_Number е равно на:

Клетки (2, 1). Стойност = 2. (Клетки (2,1) означава ред2 и колона1, т.е. клетка А2).

Стъпка 11: Стартирайте този код и вижте стойността в клетката A2.

И така, получихме втората стойност на серийния номер.

Стъпка 12: Сега натиснете клавиша F8. Той отново ще се върне към горния ред, за да повтори кода. Този път стойността на Serial_Number ще бъде 3.

Стъпка 13: Така че където и да е Serial_Number, е равно на 3.

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

Клетки (3, 1). Стойност = 3. (Клетки (3,1) означава ред 3 и колона 1, т.е. клетка A3).

Стъпка 14: Натиснете F8, за да изпълните маркирания ред и да видите стойността в клетката A3.

Стъпка 15: Сега продължете да натискате F8. Той ще продължи да вмъква серийните номера. Моментната стойност на променливата Serial_Number е 10, тя ще спре да се повтаря и ще излезе от цикъла.

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