Желите да аутоматизујете задатке који се понављају у Екцел ВБА? Научите како да користите До-Вхиле петљу за понављање низа радњи док се не испуни услов.
Петље су саставни део било ког језика за кодирање и можете аутоматизовати мноштво задатака који се понављају коришћењем разних петљи, у зависности од језика који је при руци. Екцел-ов ВБА се не разликује од осталих, јер нуди низ опција за петље, од којих свака служи различитој сврси.
Можете користити ове петље тако што ћете дефинисати почетну и завршну тачку, услове и параметре. Једна таква истакнута петља унутар ВБА је петља до-вхиле, коју можете користити за рад са аутоматизацијом података. Ево како да користите Екцел ВБА-ову до-вхиле петљу, увек битну методологију петље, која може у великој мери да поједностави ваше ручне задатке.
Шта је До-Вхиле петља у Екцел ВБА?
До-вхиле петља је прилично јасна; можете користити ову петљу да дате своје понуде ако желите да генеришете жељени излаз на основу одређеног услова. Петља се извршава све док дефинисани услови нису Тачни. Када програм наиђе на вредност Фалсе, петља се завршава и штампа резултате у назначеним ћелијама.
Можете користити до-вхиле петљу у различитим фазама и са различитим критеријумима; можете чак користити више петљи унутар главне спољне петље да побољшате њену употребу. Као почетник, требало би да погледате детаљније Упутства за ВБА програмирање да унапредите своје знање и вештине у овом домену.
Синтакса До-Вхиле Лооп у Екцел ВБА
До-вхиле петља има унапред дефинисану структуру, коју морате да следите, да бисте обезбедили да функционише глатко без настајања грешака. Ево синтаксе за референцу:
Урадитедок [услов_референца]
[Изјаве о критеријумима]
Лооп
Петља почиње кључном речи до-вхиле, праћеном почетном и завршном референцом. Први део синтаксе контролише целу петљу. Затим морате дефинисати наредбе које ће се извршавати сваки пут када се петља покрене.
Коначно, када услов петље добије вредност Фалсе, кључна реч лооп се извршава и излази из петље. Ово је општа структура; можете га прецизирати за обављање различитих радњи. Ево неколико примера да се упознате са радом до-вхиле петље.
Писање вашег првог кода петље До-Вхиле
Претпоставимо да желите да прикажете вишекратнике два у колони А. Услов је да се бројеви штампају док бројач не достигне 20.
Да бисте то урадили, идите на картицу Девелопер у вашем Екцел-у и отворите уређивач кодирања; алтернативно, притисните Алт + Ф11 да директно отворите уређивач кодирања. У прозору уређивача кода кликните на Уметните картицу и додајте нови модул.
Морате написати сав код у оквиру овог прозора модула. Додајте следећи код унутар модула:
Суб довхилелооп()
Дим а Као Интегер
а = 1
УрадитеДок а <= 10
Ћелије (а, 1) = 2 * а
а = а + 1
Лооп
Крај Суб
Кодекс је објашњен
Ево рашчлањавања кода који ће вам помоћи да савладате основе:
- Користи подрутину: Да бисте започели писање кода у Екцел ВБА, направите спољну љуску са функцијом подрутине (Суб). Дајте му смислено име које одговара сврси кода. У овом примеру, можете користити име довхилелооп, праћено ().
- Дефинишите типове података: Функција димензије (дим) мора се користити за декларисање типова података променљивих. Декларисањем типа података можете учинити свој код ефикаснијим и побољшати брзину извршавања. У овом случају, променљива а складишти целобројне вредности, па користите целобројни тип података да бисте га дефинисали. Можете да сачувате почетни број реда унутар ове променљиве, да бисте декларисали почетну тачку података ваше до-вхиле петље.
- Дефинишите услов(е): Сада је време да се проследи услов за контролу до-вхиле петље. Можете користити учинити док кључне речи, након чега следи услов. Пошто желите да покренете петљу десет пута, користите услов а < = 10.
- Проследите извршне изјаве: Важно је да знате разлику између Функција ћелија и функција Ранге у ВБА. Функција ћелије користи референце редова и колона унутар ВБА. На пример, током прве итерације, када је вредност а =1, формула ћелије је (1,1). У ВБА меморији, ово се преводи у ћелију А1. Сваки пут када се петља изврши, вредност дефинисане променљиве се повећава, а референца се помера на следећу доступну ћелију.
- Повећајте своју променљиву: Можете проћи а = а + 1 изјава за повећање вредности ћелије. Ово помера петљу на следећи део услова; петља наставља да ради све док услов не добије вредност Фалсе.
- Изађите из стања петље: Једном када је услов Фалсе, петља излази са кључном речи Лооп, и коначно, излази из потпрограма са кључном речи Енд Суб.
- Извршавање кода: Пошто је код спреман, једноставно притисните Ф5 тастер или зелено дугме за репродукцију на горњој траци менија да бисте извршили код.
Коначни резултат приказује листу бројева од 2-20 у колони А.
Коришћење унапред попуњене колоне као услова петље
Сада када сте разумели синтаксу и нијансе конструисања основне структуре, зашто не бисте написали још један код за штампање сличних бројева на основу већ постојећих критеријума? На пример, можете креирати услов петље који бира свој знак из колоне А и штампа излаз у колони Б.
На основу укупног броја попуњених ћелија у колони А, можете одштампати вишекратнике два у колони Б. Петља покреће укупан број унапред попуњених ћелија основне колоне А. Пошто је почетна вредност реда један (а =1), завршна вредност је динамичка и аутоматски се израчунава помоћу до-вхиле петље.
Користећи вредност свог реда, код се креће кроз сваку ћелију у колони А и множи број са 2. Излаз је приказан у колони Б.
Ако постоји више од десет вредности у колони А, петља ће се изводити све док не наиђе на празну вредност у првој колони. Слично томе, можете написати још сложеније услове унутар до-вхиле петље и користити је за проверу услова и приказивање излаза по потреби.
Коришћење ИФ изјаве у оквиру До-Вхиле петље
Као и угнежђене петље, можете користити наредбу ИФ унутар До-Вхиле петље, да додате још један слој услова. У том случају, до-вхиле петља покреће целу петљу све док услов не буде Фалсе, а унутрашњи ИФ наредба се извршава сваки пут када се петља покрене.
У примеру испод, петља уради-вхиле кружи кроз сваку ћелију у колони А, све док не наиђе на празну ћелију. Након тога, ИФ изјава проверава вредност сваке ћелије у колони А и штампа излаз у колони Б. Чим спољна петља наиђе на празну ћелију у колони А, петља се зауставља и излази из подрутине.
Излаз је следећи:
Све док вредност у колони А није мања од пет, резултујућа вредност у колони Б је пет. У А6, пошто је вредност ћелије већа од пет, резултујући излаз је седам, што је синхронизовано са ИФ условом.
Откривање ВБА-ових вишеструких функционалности
Екцел и ВБА чине веома погодну комбинацију за обављање напредне анализе података. Чак и без ВБА, можете користити различите Екцел логичке функције за обављање компликованих задатака, што представља пример ваших програмских вештина.
Ако сте заинтересовани за анализу података и користите Екцел у својим редовним активностима, можете имати огромне користи од коришћења Екцелових вишеструких логичких функција.