Искате ли да автоматизирате повтарящи се задачи в Excel VBA? Научете как да използвате цикъла Do-While, за да изпълнявате многократно набор от действия, докато не бъде изпълнено условие.

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

Можете да използвате тези цикли, като дефинирате началната и крайната точка, условие(я) и параметри. Един такъв важен цикъл във VBA е цикълът do-while, който можете да използвате за работа с автоматизация на данни. Ето как да използвате цикъла do-while на Excel VBA, все по-важна методология за цикли, която може да опрости ръчните ви задачи до голяма степен.

Какво представлява Do-While Loop в Excel VBA?

Цикълът do-while е доста ясен; можете да използвате този цикъл, за да оферирате, ако искате да генерирате желан изход в база за конкретно условие. Цикълът се изпълнява, докато дефинираното условие(а) стане True. След като програмата срещне стойност False, цикълът прекратява и отпечатва резултатите в определените клетки.

instagram viewer

Можете да използвате do-while цикъла на различни етапи и с различни критерии; можете дори да използвате множество цикли вътре в основния външен цикъл, за да подобрите използването му. Като начинаещ, трябва да се обърнете към разработката Уроци по програмиране на VBA за да разширите знанията и уменията си в тази област.

Синтаксисът на Do-While Loop в Excel VBA

Цикълът do-while има предварително дефинирана структура, която трябва да следвате, за да сте сигурни, че функционира гладко, без да причинява грешки. Ето синтаксиса за справка:

Направидокато [справка_условие]

[Критерии]

Цикъл

Цикълът започва с ключовата дума do-while, последвана от началната и крайната препратка. Първата част от синтаксиса контролира целия цикъл. След това трябва да дефинирате изразите, които ще се изпълняват всеки път, когато цикълът се изпълнява.

И накрая, след като условието на цикъла получи стойност False, ключовата дума за цикъл се изпълнява и излиза от цикъла. Това е цялостна структура; можете да го прецизирате, за да изпълнява различни действия. Ето няколко примера, за да се запознаете с работата на do-while цикъл.

Писане на вашия първи Do-While Loop код

Да предположим, че искате да покажете кратните на две в колона A. Условието е да отпечатате числата, докато броячът достигне 20.

За да направите това, отидете до раздела Разработчик на вашия Excel и отворете редактора за кодиране; алтернативно, натиснете Alt + F11 за да отворите директно редактора за кодиране. В прозореца на редактора на код щракнете върху Поставете и добавете нов модул.

Трябва да напишете целия код в прозореца на този модул. Добавете следния код вътре в модула:

Sub dowhileloop()

Dim a Като Цяло число

а = 1

НаправиДокато a <= 10

Клетки (a, 1) = 2 * a

а = а + 1

Цикъл

Край Под

Кодът е обяснен

Ето разбивка на кода, за да ви помогне да овладеете основите:

  • Използвайте подпрограма: За да започнете да пишете кода в Excel VBA, създайте външна обвивка с подрутинна функция (Sub). Дайте му смислено име, което резонира с целта на кода. В този пример можете да използвате името dowhileloop, последвано от ().
  • Дефиниране на типове данни: Функцията dimension (dim) трябва да се използва за деклариране на променливите типове данни. Като декларирате типа данни, можете да направите своя код ефективен и да подобрите скоростта на изпълнение. В този случай променливата а съхранява цели числа, така че използвайте целочисления тип данни, за да го дефинирате. Можете да съхраните номера на началния ред в тази променлива, за да декларирате началната точка от данни на вашия do-while цикъл.
  • Определете условие(я): Сега е време да предадем условието за контрол на do-while цикъла. Можете да използвате правете докато ключови думи, последвани от условието. Тъй като искате да стартирате цикъла десет пъти, вие използвате условието a < = 10.
  • Предайте изпълнимите оператори: За вас е важно да знаете разликата между Функцията Cells и функцията Range във VBA. Функцията клетки използва препратките към редове и колони във VBA. Например, по време на първата итерация, когато стойността на a =1, формулата на клетката е (1,1). В паметта на VBA това се превежда в клетка A1. Всеки път, когато цикълът се изпълнява, стойността на дефинираната променлива се увеличава и препратката се премества към следващата налична клетка.
  • Увеличете вашата променлива: Можете да преминете а = а + 1 оператор за увеличаване на стойностите на клетката. Това премества цикъла към следващата част от условието; цикълът продължава да се изпълнява, докато условието получи стойност False.
  • Излезте от условието Loop: След като условието е False, цикълът излиза с ключовата дума Loop и накрая излиза от подпрограмата с ключовата дума End Sub.
  • Изпълнение на кода: Тъй като кодът е готов, просто натиснете Клавиш F5 или зеления бутон за възпроизвеждане в горната лента с менюта, за да изпълните кода.

Крайният резултат показва списък с числа от 2-20 в колона A.

Използване на предварително попълнена колона като условие за цикъл

Сега, след като разбрахте синтаксиса и нюансите на конструиране на основна структура, защо не напишете друг код за отпечатване на подобни числа въз основа на вече съществуващи критерии? Например, можете да създадете условие за цикъл, което избира своята реплика от колона A и отпечатва изхода в колона B.

Въз основа на общия брой попълнени клетки в колона A, можете да отпечатате кратни на две в колона B. Цикълът изпълнява общия брой предварително попълнени клетки в базовата колона A. Тъй като стойността на началния ред е едно (a =1), крайната стойност е динамична и се изчислява автоматично от цикъла do-while.

Използвайки стойността на своя ред, кодът преминава през всяка клетка в колона A и умножава числото по 2. Резултатът е показан в колона B.

Ако има повече от десет стойности в колона A, цикълът ще работи, докато срещне празна стойност в първата колона. По същия начин можете да напишете още по-сложни условия в рамките на do-while цикъла и да го използвате, за да проверите условията и да покажете изхода, ако е необходимо.

Използване на оператор IF в Do-While цикъл

Подобно на вложените цикли, можете да използвате израза IF в рамките на цикъла Do-While, за да добавите друг слой на условие. В такъв случай цикълът do-while изпълнява целия цикъл, докато условието стане False, а вътрешният оператор IF се изпълнява всеки път, когато цикълът се изпълнява.

В примера по-долу цикълът do-while преминава през всяка клетка в колона A, докато срещне празна клетка. Впоследствие изразът IF проверява стойността на всяка клетка в колона A и отпечатва резултата в колона B. Веднага щом външният цикъл срещне празна клетка в колона A, цикълът спира и излиза от подпрограмата.

Резултатът е както следва:

Докато стойността в колона A стане по-малка от равна на пет, получената стойност в колона B е пет. В A6, тъй като стойността на клетката е по-голяма от пет, резултатът е седем, което е в синхрон с условието IF.

Разкриване на многостранните функционалности на VBA

Excel и VBA образуват много благоприятна комбинация за извършване на разширен анализ на данни. Дори и без VBA, можете да използвате различни логически функции на Excel, за да изпълнявате сложни задачи, илюстрирайки уменията си за програмиране.

Ако се интересувате от анализ на данни и използвате Excel в обичайните си дейности, можете да извлечете огромна полза от използването на многостранните логически функции на Excel.