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

Ключова дума „Всяка“ се използва в VBA, заедно с функцията „За“. Това означава, че за всяко образувание в масив или диапазон повторете процеса за цикъл. По принцип ние няма да въведем диапазона на стъпките, т.е. от 1 до 5 или 1 до 10, вместо това просто ще го поставим, както е показано в синтаксиса по-долу.

Синтаксис:

За всяко име на обект в обхват

Забележка: Трябва да имате раздел за програмисти в работния лист на excel.

Ако не виждате раздела „Програмист“ в excel, направете справка по-долу.

Стъпка 1: Щракнете върху опция за файл .

Стъпка 2: Появява се падащото меню, щракнете върху раздела Опции .

Стъпка 3: След като щракнете върху „Опции“, се появява диалогов прозорец, както е показано по-долу, и кликнете върху опцията Персонализиране на лентата .

Стъпка 4: Когато плъзнем надолу в опциите за персонализиране на лентата, ще намерим опция за Developer, трябва да поставим отметка в това поле, което ще ни позволи да използваме VBA в excel.

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

По-долу са различните примери за използване за всеки цикъл в Excel, използвайки VBA код.

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

Excel VBA за всеки цикъл - пример №1

Ще вземем прост пример за За всеки цикъл в VBA. Да приемем, че по-долу е набор от данни в VBA.

Следвайте стъпките по-долу, за да използвате За всеки цикъл в Excel VBA.

Стъпка 1: Кликнете върху раздела „Developer“ и след това кликнете върху опцията „Visual Basic“ от лявата страна (първа опция), както е показано по-долу.

След като щракнете върху него, се появява нов прозорец, както е показано по-долу.

Ще забележите, че тя съдържа два раздела от лявата страна, „Sheet1 (Sheet1)“ и „ThisWorkbook“. Единствената разлика е „Sheet1“, когато искате да изпълните код само за този конкретен лист и в „ThisWorkbook“ можем да напишем код и да изпълним, който може да се приложи за цялата работна книга на excel.

Стъпка 2: Кликнете два пъти върху „Sheet1 (Sheet1) и ще видите празен екран, където трябва да напишем кода. Дайте име на създадения подмножество. Тук сме дали име като „Sub For_Each_Ex1 ()“, както е показано на снимката по-долу.

Код:

 Sub For_Each_Ex1 () Край Sub 

По този начин създаваме подмножество и автоматично се появява „End Sub“. Това е по подразбиране функция на excel. Ако не се появи „End Sub“, кодът няма да се изпълни и ще изведе грешка.

Стъпка 3: Ще декларираме променливите като диапазон.

Код:

 Sub For_Each_Ex1 () Dim Earn, Range1 As Range End Sub 

Тук сме декларирали две променливи „Печелете“, които ще използваме с „За всеки“ и „Обхват 1“ като обхват на набора от данни.

Стъпка 4: Сега ще оправим диапазон, т.е. диапазон от данни, над които трябва да работим, използвайки ключовата дума „Set“, както е показано по-долу.

Код:

 Sub For_Each_Ex1 () Dim Ear Ear, Range1 As Range Set Range1 = Обхват ("A1: A10") Край Sub 

Тук фиксирахме „Range1“ от клетки от диапазон A1 до A10, което е нашият набор от данни.

Стъпка 5: Сега ще изпълним за цикъл, използвайки всяка ключова дума.

Код:

 Sub For_Each_Ex1 () Dim Ear Ear, Range1 As Range Set Ran11 = Обхват („A1: A10“) за всяка печалба в диапазон1 Край Sub 

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

Стъпка 6: Сега ще използваме ключовата дума „Msgbox“, за да покажем всеки запис на ред в зададения диапазон.

Код:

 Sub For_Each_Ex1 () Dim Ear Ear, Range1 As Range Set Ran11 = Обхват („A1: A10“) за всяка печалба в обхват1 MsgBox Earn.Value End Sub 

Тук „Earn.value“ ще покаже стойността в клетката, т.е. започвайки от първата клетка в диапазона.

Стъпка 7: Сега искаме да изпълним следващата стойност в дадения диапазон от клетки, следователно трябва да използваме ключовата дума „Next“ в кода. Това ще помогне да продължите по-нататък в диапазона и да покажете всяко образувание в обхвата на клетките една по една.

Код:

 Sub For_Each_Ex1 () Dim Ear Ear, Range1 As Range Set Range1 = Обхват („A1: A10“) за всяка печалба в обхват1 MsgBox Earn.Value Next Earn End Sub 

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

В момента, в който се изпълни кодовия ред „Следващ печелене“, „Earn.value“ ще бъде присвоена със следващата стойност на клетката в диапазона. Едно по едно щракване върху „OK“ и ще продължи да показва всяка стойност в диапазона, докато диапазонът от стойности не бъде завършен.

Excel VBA за всеки цикъл - пример №2

Ще вземем друг пример, в който ще покажем името на всеки лист във файл на excel. Да предположим, че имаме файлове, посочени по-долу във файла на excel:

Тъй като забелязваме, че във файла на excel има около 5 листа и трябва да покажем името на всеки един по един.

Ще напишем и изпълним кода в секцията „ThisWorkbook”, както е подчертано в червеното поле по-долу:

Кликнете два пъти върху него и докато се появи прозорецът на прозореца и започнете да пишете кода в него. Следвайте стъпките по-долу, за да използвате За всеки цикъл в Excel VBA:

Стъпка 1: Ще напишем кода, като зададем име на подмножеството, както е показано по-долу.

Код:

 Име на подстраницата () Край на Sub 

Стъпка 2: Също така, можем директно да започнем да пишем оператора на цикъла „For“, без да декларираме променливата, както е показано по-долу.

Код:

 Име на подстраница () За всеки sht в Application.Sheets End Sub 

Тук „sht“ е нашата променлива1, която по подразбиране се декларира, а „Application.sheets“ означава, че във файла се вземат предвид всички листове. Application.fucntion указва, че можем да добавим всяка функция или функция или excel инструмент, който да бъде разгледан, докато изпълняваме кода.

Стъпка 3: Сега ще въведем синтаксиса на полето за съобщения и заедно с него ще добавим синтаксис за показване на името на листа, както е показано по-долу:

Код:

 Име на подстраница () За всеки sht в Application.Sheets MsgBox "Името на листа е:" & sht.Name End Sub 

Тук изявлението, което бихме искали да покажем, е „Името на листа е:“ и след това въвеждаме амперсанд (&), който свързва кодовия ред и след това въвеждаме „sht.Name“, т.е. ще избере листа, започващ от първия лист и покажете името.

Стъпка 4: Сега трябва да повторим процеса за показване на всяко име на листа. Следователно, ще използваме „Next sht“, както е показано по-долу:

Код:

 Име на подстраница () За всеки sht в Application.Sheets MsgBox "Името на листа е:" & sht.Name Next sht End Sub 

„Next sht“ ще уведоми системата за това, помислете за следващия лист и ще покаже името му за по-нататъшно изпълнение.

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

След като щракнете върху „OK“ и кодът се изпълнява допълнително, той ще покаже името на следващия лист. Кодът ще се изпълнява, докато няма други листове на дисплея.

Excel VBA за всеки цикъл - пример №3

Сега ще вземем пример, когато трябва да сумираме всички стойности в даден набор от данни или масив. Да приемем по-долу е набор от данни:.

Следвайте стъпките по-долу, за да използвате За всеки цикъл в Excel VBA:

Стъпка 1: Първо декларирайте името на подмножеството като "eachadd ()", както е показано по-долу.

Код:

 Sub eachadd () Край Sub 

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

Код:

 Sub eachadd () Dim общ като цяло число Dim Ran11 като диапазон край Sub 

Стъпка 3: След като декларираме променлива и диапазон, трябва да поправим диапазона, който да се използва за цикъл. Ние ще коригираме този диапазон от A1 до A10 клетки, използвайки ключовата дума „Set“, както е показано по-долу:

Код:

 Sub eachadd () Dim общ като цяло число Dim Ran11 As Range Set Range1 = Обхват („A1: A10“) Край Sub 

Стъпка 4: Вече можем директно да започнем да използваме функцията For loop и директно да декларираме променливата. Тук използваме „add1“ като променлива и тя ще бъде декларирана по подразбиране от системата.

Код:

 Sub eachadd () Dim общо като цяло число Dim Ran11 като диапазон набор диапазон1 = обхват („A1: A10“) за всяка добавка1 в обхват1 край под 

Стъпка 5: Добавяне на всяко образувание в диапазона един по един и в променливата, декларирана „общо“. По подразбиране стойността на „общо“ първоначално е нула. И ние трябва да добавим една по една стойност на клетките и отново тази сума трябва да се добави в „общо“ отново.

Код:

 Sub eachadd () Dim общо като цяло число Dim Ran11 като диапазон набор диапазон1 = обхват („A1: A10“) за всяка добавка1 в обхват1 общо = общо + добавяне1.Value End Sub 

Горното изречение се изпълнява от дясно на ляво, т.е. „add1.value“ е първата стойност на клетката и я добавете към „total“, която е нула. Следователно, сумата ще бъде 0 + 1, което е 1. И тази сума като 1 ще влезе в "общо" преди знака "=". Това е предимство, тъй като формулата се изпълнява отляво надясно.

Стъпка 6: Сега добавете „Следваща добавка1“, която сега ще ви помогне да разгледате следващата стойност на клетката от диапазона от данни и добавете тази стойност в променливата „общо“, както е показано по-долу.

Код:

 Sub eachadd () Dim общо като цяло число Dim Ran11 като диапазон набор диапазон1 = обхват („A1: A10“) за всяка добавка1 в обхват1 общо = общо + add1.Value Следващ add1 край Sub 

Стъпка 6: Натиснете “F8”, за да стартирате кода от всеки ред. Също така можем да видим стойността на „общо“ на екрана по-долу.

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

Стъпка 7: Сега ще използваме ключовата дума „Msgbox“.

Код:

 Sub eachadd () Dim общ като цяло число Dim Ran1 

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

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

  • Ключова дума „Всяка“ се използва повечето пъти само в случай на използване на VBA For Loop функция. Освен това, той има ограничена употреба в excel VBA.
  • Предимството за ключова дума „Всяка“ е само, че нямаме декларационни стъпки от 1 до x в оператора „За“.

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

Това е ръководство за VBA за всеки цикъл. Тук обсъждаме как да използвате за всеки цикъл в Excel, използвайки VBA код, заедно с практически примери и изтеглящ се шаблон на excel. По-долу са някои полезни статии за excel, свързани с VBA -

  1. VBA Правете докато цикъл
  2. Превключване на колони в Excel
  3. VBA почивка за контур
  4. Пребройте имена в Excel
  5. Как да стартирате VBA кода?

Категория: