Екцел ВБА До петље

Учините све док петља настави да понавља изјаве док услови / критеријуми не постану ТРУЕ. Она ће извршавати изјаве све док су услови ЛАЖНИ. Чим увјет / критеријуми постану ТРУЕ, он прекида петљу. То може изгледати супротно од петље До вхиле, где петља траје све док су критеријуми ТРУЕ и прекидају се чим су критерији лажни.

Погледајте дијаграм тока испод који објашњава рад петље До ДО:

Синтакса До До Лооп у Екцелу ВБА

Радите док Лооп нема две врсте синтаксе у Екцел ВБА.

Синтакса 1:

 Обављајте док се (стање) (изјаве треба извршити) петља 

Синтакса 2:

 Да ли (изјаве које се извршавају) петљајте до (стање) 

Основна разлика између ове две синтаксе је извршење. У првој синтакси, петља ће увек проверити да ли је услов тачан или лажан. Ако је Фалсе, поново ће поновити петљу. Чим су услови / критеријуми тачни, он ће прекинути петљу. У овом случају, постоји могућност да се петља прекине приликом прве итерације (ако је услов тачан). Дакле, у том случају нећете добити никакав излаз. Међутим, у другој синтакси ће петља у почетку извршавати изјаве, а затим ће проверити да ли је тачно или лажно. Ако је услов лажан, опет ће извршити исти скуп изјава и проверити стање. Ако прва итерација сама по себи услови као Труе, та петља се прекида, али пре ње ће се извршити изјава. У том случају, добит ћемо барем једну итерацију (као нула).

Коначно, излаз два кода ће бити исти. Међутим, погубљење је нешто што разликује ово двоје.

Пример Екцела ВБА До петље

Погледајмо примере До До Лооп у Екцелу ВБА.

Овде можете преузети овај предложак ВБА До Лооп Екцел овде - ВБА Предложак док не буде петља

Пример # 1 - ВБА ради до петље када се услови провере на почетку

Следите доле наведене кораке за примену петље До До у Екцелу ВБА.

Корак 1: Уметните нови модул у Висуал Басиц Едитор (ВБЕ) да бисте могли писати код.

Корак 2: Дефинишите подпроцедура која може да похрани макро код који ћете писати.

Шифра:

 Суб До_Унтил_Ек1 () Крај Суб 

Корак 3: Дефинишите нову променљиву „Кс“ са типом података „Лонг“. Ова променљива се може користити као услов / критеријум у оквиру До До петље.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс као дуги крај Суб 

Корак 4: Подесите почетну вредност на 1 за променљиву Кс.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс као дугачак Кс = 1 крајњи Суб 

Корак 5: Покрените петљу с кључним речима До док.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс као дугачак Кс = 1 До краја Суб 

Корак 6: Наведите критеријуме као Кс = 11 у оквиру До До. Ово је услов који омогућава да се петља прекине када је тачно. То значи да ће се петља покренути све док вриједност Кс = 11. Чим вриједност за Кс буде једнака 11, петља ће престати.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс као дугачак Кс = 1 До док Кс = 11 Крај Суб 

Корак 7: Сада користите ВБА ћелије. Функција вредности да бисте могли да додате квадрат сваког броја до Кс под првом колоном.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс Ас Лонг Кс = 1 До, све док Кс = 11 ћелија (Кс, 1) .Валуе = Кс * Кс Крај Суб 

Корак 8: Поново морамо повећати прираштај у Кс на 1, тако да сваки пут када се петља покрене и провјери стање које ће прећи на сљедећи број и похранити квадратну вриједност тога у одговарајућу ћелију до броја 11.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс Ас Лонг Кс = 1 До, све док Кс = 11 ћелија (Кс, 1) .Валуе = Кс * КСКС = Кс + 1 Крај Суб 

Корак 9: Довршите ову петљу До док уносите кључну реч „Петља“ на крају кода.

Шифра:

 Суб До_Унтил_Ек1 () Дим Кс Ас Лонг Кс = 1 До, све док Кс = 11 ћелија (Кс, 1) .Валуе = Кс * КСКС = Кс + 1 петља Крај Суб 

У овом коду Хтели смо да имамо квадратне вредности за бројеве који почињу од 1 до 11 (Чим је вредност 11, петља престаје). Под сваком ћелијом листа екцел (до броја 11 ћелије) вредности ће се сачувати. Повећање за 1 јединицу омогућава да се сваки пут број повећа за 1 у претходној вредности Кс, а квадратна вредност тог броја се штампа у одговарајућој ћелији. На пример, вредност квадрата за 3 биће штампана испод треће ћелије активног екцел листа. Ова петља ради све док Кс није једнак 11. Стога, под ћелијом А1 до ћелије А10, добијамо вредности квадрата броја почевши од 1 до 10 (на крају се петља завршава).

Корак 10: Притисните типку Покрени или притисните типку Ф5 да бисте покренули овај код и видјели излаз.

Пример бр. 2 - Направите док не буде петља када се проверавају услови на крају петље

Следите доле наведене кораке за примену петље До До у Екцелу ВБА.

Корак 1: Дефинишите нови под-поступак под ВБЕ модулом.

Шифра:

 Суб До_Унтил_Ек2 () Крај Суб 

Корак 2: Дефинишите променљиву "И" са типом података као "Лонг". Ова варијабла ће бити корисна у проналажењу услова.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Као дуги крај Суб 

Корак 3: Подесите почетну вредност променљиве „И“ као 1.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Ас Лонг И = 1 Крај Суб 

Корак 4: Додајте услов уписивањем До у следећем реду након што поставите почетну вредност И на 1.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Ас Лонг И = 1 До Енд Суб 

Корак 5: Додајте део кода који желите да се изврши под До петљом. Овде ћемо узети исти пример као горе (помоћи ће нам да сазнамо како су резултати исти, али компилације су различите за ова два кода).

Шифра:

 Суб До_Унтил_Ек2 () Дим И Ас Лонг И = 1 До Схеетс ("Пример 2"). Ћелије (И, 1) .Валуе = И * И Крај Суб 

Корак 6: Након сваке итерације петље, желите да се вредност повећа за 1 јединицу, поставите наредбу за то у одељку До.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Као дуги И = 1 Направите табеле ("Пример 2"). Ћелије (И, 1) .Валуе = И * ИИ = И + 1 Крај Суб 

Корак 7: Додајте завршну изјаву за ову петљу кључном речју као „петља“.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Ас Лонг И = 1 До Схеетс ("Пример 2"). Ћелије (И, 1) .Валуе = И * ИИ = И + 1 Енд Лооп Суб 

Држи се! Постоји нешто више. Морате да додате критеријуме / услове све док не буде под овом петљом, овај пут после кључне речи Лооп. То ће омогућити компајлеру да провери стање на крају петље.

Корак 8: Додајте до И = 11 као услов након петље кључне речи.

Шифра:

 Суб До_Унтил_Ек2 () Дим И Ас Лонг И = 1 До Схеетс ("Пример 2"). Ћелије (И, 1) .Валуе = И * ИИ = И + 1 петља док И = 11 Крај Суб 

Корак 9: Покрените овај код притиском на Ф5 или Рун дугме и погледајте магију испод листа под називом „Пример 2“.

Како ради овај код?

Систем се квадратује до вриједности И сваки пут испод петље и спрема га у други ступац листа назван „Пример 2“, ред по ред. Након сваке итерације, тренутна вредност И повећава се за 1 јединицу, а ажурирана вредност се квадратује и меморише. Све док је вредност мања од вредности критеријума (И = 11), код ће извршити квадрат и похранити га. Чим компајлер вредности достигне вредност И = 11, престаје са извршавањем кода и исти прекида.

Оба кода дају сличан излаз, али логично постоји разлика у компилацијама за оба. У првој врсти кода стање се провјерава на почетку петље, а ако је Фалсе тада само петља почиње процјењивати сљедећи израз. Међутим, у другом примјеру код почиње покретати петљу и извршавати До изјаве на почетку (похрањивање вриједности у меморију међуспремника за изјаве извршења). На крају петље, компајлер долази до критеријума и провјерава исти с вриједности међуспремника.

Ствари које треба запамтити

  • ВБА До док је тачно обрнут случај Екцела ВБА До Док. ВБА До Док петља траје све док је услов ТРУЕ. Једном када је услов ФАЛСЕ, петља До До се прекида. С друге стране, ВБА До Док траје све док је стање ФАЛСЕ. Чим је услов ТРУЕ, петља се прекида.
  • Има два начина поступања, један где се стање проверава на почетку петље и други где се стање проверава на крају петље.

Препоручени чланци

Ово је водич за ВБА "До петље". Овде смо расправљали о томе како користити Екцел ВБА До Дон'т Лооп заједно са неколико практичних примера и преузети Екцел предложак. Можете и да прођете кроз друге наше предложене чланке -

  1. ВБА Док је петља
  2. ЛООКУП Формула у Екцелу
  3. Комплетне туторијале о ВБА петљи
  4. Табела за претрагу у Екцелу

Категорија: