Хотите автоматизировать повторяющиеся задачи в Excel VBA? Узнайте, как использовать цикл Do-While для многократного выполнения набора действий, пока не будет выполнено условие.

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

Вы можете использовать эти циклы, определяя начальную и конечную точки, условия и параметры. Одним из таких известных циклов в VBA является цикл do-while, который вы можете использовать для работы с автоматизацией данных. Вот как можно использовать цикл do-while в Excel VBA, незаменимую методологию циклов, которая может значительно упростить ваши ручные задачи.

Что такое цикл Do-While в Excel VBA?

Цикл do-while довольно прост; вы можете использовать этот цикл, чтобы делать свои ставки, если вы хотите сгенерировать желаемый результат на основе определенного условия. Цикл выполняется до тех пор, пока определенное условие (я) не станет истинным. Как только программа встречает значение False, цикл завершается и печатает результаты в указанных ячейках.

instagram viewer

Вы можете использовать цикл do-while на разных этапах и с разными критериями; вы даже можете использовать несколько циклов внутри основного внешнего цикла, чтобы улучшить его использование. Как новичок, вы должны обратиться к подробному Учебники по программированию на VBA для расширения ваших знаний и навыков в этой области.

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

Цикл do-while имеет предопределенную структуру, которой необходимо следовать, чтобы обеспечить бесперебойную работу без ошибок. Вот синтаксис для справки:

Делатьпока [условие_ссылка]

[Утверждения критериев]

Петля

Цикл начинается с ключевого слова do-while, за которым следуют начальная и конечная ссылки. Первая часть синтаксиса управляет всем циклом. Затем вам нужно определить операторы, которые будут выполняться каждый раз при запуске цикла.

Наконец, как только условие цикла принимает значение False, ключевое слово цикла выполняется и выходит из цикла. Это общая структура; вы можете уточнить его для выполнения различных действий. Вот несколько примеров, чтобы ознакомиться с работой цикла do-while.

Пишем свой первый код цикла Do-While

Предположим, вы хотите отобразить числа, кратные двум, в столбце A. Условие состоит в том, чтобы печатать числа до тех пор, пока счетчик не достигнет 20.

Для этого перейдите на вкладку «Разработчик» в Excel и откройте редактор кода; как вариант, нажмите Альт + F11 чтобы открыть редактор кодирования напрямую. В окне редактора кода нажмите кнопку Вставлять вкладку и добавить новый модуль.

Вам нужно написать весь код в этом окне модуля. Добавьте следующий код внутрь модуля:

Подпрограмма dowhileloop()

Дим а Как Целое число

а = 1

ДелатьПока а <= 10

Ячейки (а, 1) = 2 * а

а = а + 1

Петля

Конец Саб

Объяснение кода

Вот разбивка кода, которая поможет вам освоить основы:

  • Используйте подпрограмму: Чтобы начать писать код в Excel VBA, создайте внешнюю оболочку с функцией подпрограммы (Sub). Дайте ему значимое имя, которое соответствует цели кода. В этом примере вы можете использовать имя dowhileloop, за которым следует ().
  • Определить типы данных: Функция измерения (dim) должна использоваться для объявления переменных типов данных. Объявив тип данных, вы можете сделать свой код эффективным и повысить скорость выполнения. В этом случае переменная а хранит целочисленные значения, поэтому используйте целочисленный тип данных для его определения. Вы можете сохранить начальный номер строки в этой переменной, чтобы объявить начальную точку данных вашего цикла do-while.
  • Определить условие(я): Теперь пришло время передать условие для управления циклом do-while. Вы можете использовать делать пока ключевые слова, за которыми следует условие. Поскольку вы хотите запустить цикл десять раз, вы используете условие а < = 10.
  • Передайте исполняемые операторы: Вам важно знать разницу между Функция Cells и функция Range в VBA. Функция ячеек использует ссылки на строки и столбцы в VBA. Например, во время первой итерации, когда значение a =1, формула ячейки будет (1,1). В памяти VBA это преобразуется в ячейку A1. При каждом выполнении цикла значение определенной переменной увеличивается, и ссылка перемещается на следующую доступную ячейку.
  • Увеличьте свою переменную: Вы можете пройти а = а + 1 Оператор для увеличения значений ячеек. Это перемещает цикл к следующей части условия; цикл продолжает работать до тех пор, пока условие не примет значение 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 выполняет весь цикл до тех пор, пока условие не станет ложным, а внутренний оператор IF выполняется каждый раз, когда цикл выполняется.

В приведенном ниже примере цикл do-while циклически проходит через каждую ячейку в столбце A, пока не встретит пустую ячейку. Затем оператор IF проверяет значение каждой ячейки в столбце A и печатает результат в столбце B. Как только внешний цикл встречает пустую ячейку в столбце A, цикл останавливается и выходит из подпрограммы.

Результат выглядит следующим образом:

Пока значение в столбце А меньше пяти, результирующее значение в столбце В равно пяти. В A6, поскольку значение ячейки больше пяти, результирующий результат равен семи, что соответствует условию ЕСЛИ.

Раскрытие многогранных функций VBA

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

Если вы интересуетесь анализом данных и используете Excel в своей повседневной деятельности, вы можете извлечь огромную пользу из использования многогранных логических функций Excel.