Язык программирования VBA поддерживает цикл Do While Loop. В этой статье мы узнаем, как использовать цикл Do While Loop в Excel VBA.

Синтаксис цикла Do While Loop

Цикл Do While Loop в VBA имеет два синтаксиса:

Элемент управления входом «Выполнить цикл»

Do While Condition

'Statement1

'Statement2

'--

'--

'StatementN

Loop

В этом синтаксисе сначала проверяется условие. Если условие выполнено, управление переходит в цикл, иначе цикл завершается.

Exit Control Do While Loop

Do

'Statement1

'Statement2

'--

'--

'StatementN

Loop While Condition

В этом синтаксисе управление сначала входит в цикл. После выполнения каждой задачи VBA в конце проверяет условие. Если условие истинно, цикл Do While Loop продолжается, в противном случае цикл немедленно завершается. Используйте этот синтаксис, если хотите, чтобы ваш цикл был выполнен хотя бы один раз.

Пример: удаление листов до тех пор, пока не останется только 2 листа. В этом примере мы попытаемся удалить каждый лист один за другим, пока в книге не останется только 2 листа, используя цикл VBA Do While Loop:

Sub WhileTest()

Application.DisplayAlerts = False

Do While Sheets.Count > 2

ActiveSheet.Delete

Loop

Application.DisplayAlerts = True

End Sub

Вышеупомянутая подпрограмма сначала проверит, есть ли в книге более двух листов. Если в книге более 2 листов, элемент управления войдет в цикл и удалит текущий активный лист. Цикл будет продолжаться, пока не останется всего 2 листа.

Если в книге уже есть только 2 или 1 лист, элемент управления не войдет в цикл и ничего не произойдет.

Теперь, если вы хотите удалить хотя бы 1 лист в начале цикла, даже если в книге всего 2 листа, используйте элемент управления выходом do while loop.

Sub WhileTest()

Application.DisplayAlerts = False

Do

ActiveSheet.Delete

Loop While Sheets.Count > 2

Application.DisplayAlerts = True

End Sub

Вышеупомянутая подпрограмма сначала удалит 1 лист, а затем проверит их количество. Если их больше 2 листов, цикл будет продолжен. Если в книге осталось 2 листа или меньше, цикл завершится.

Главный вывод здесь состоит в том, что этот цикл будет выполняться по крайней мере один раз.

Вы можете использовать это, чтобы повторить некоторые задачи, спросив пользователя. Например, вы можете спросить у пользователя пароль. И зацикливайте его, пока он не введет правильный пароль или не выйдет. В этом сценарии вы должны спросить у пользователя пароль хотя бы один раз.

Примечание: я использовал свойство DisplayAlert объекта Application, чтобы отключить предупреждения. Вы можете прочитать об этом ссылка: / files-workbook-and-worksheets-in-vba-delete-листов-без-подтверждения-подсказки-using-vba-in-microsoft-excel [here] . Так что, ребята , это был цикл «Выполнить пока» в Excel VBA. Надеюсь, это было достаточно объяснительным. Если у вас есть сомнения относительно этого или любого другого запроса, связанного с Excel 365/2019/2016. Задайте вопрос в разделе комментариев ниже.

Статьи по теме:

link: / vba-for-loops-with-7-examples [7 примеров циклов For в Microsoft Excel VBA] | Цикл for — это наиболее часто используемый метод создания циклов в любом языке программирования. В VBA цикл For можно использовать несколькими способами.

Заявление If ElseIf в VBA | If ElseIf — это базовый метод проверки условий для возврата условных выходных данных.

link: / files-workbook-and-worksheets-in-vba-delete-sheet-without-confirm-prompts-using-vba-in-microsoft-excel [Удалять листы без запросов подтверждения с помощью VBA в Microsoft Excel]: * При удалении листов вы получите запрос на подтверждение. Чтобы отключить его, мы используем Приложение …​

link: / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel [Показать сообщение в строке состояния Excel VBA] | Для отображения сообщения в строке состояния мы используем свойство StatusBar объекта Application.

Популярные статьи:

link: / keyboard-formula-shortcuts-50-excel-shortcuts-to-повышения-продуктивность [50 сочетаний клавиш Excel для повышения производительности] | Выполняйте свою задачу быстрее. Эти 50 ярлыков заставят вас работать в Excel еще быстрее.

link: / формулы-и-функции-введение-функции-vlookup [Функция ВПР в Excel] | Это одна из наиболее используемых и популярных функций Excel, которая используется для поиска значений из разных диапазонов и листов.

link: / tips-countif-in-microsoft-excel [COUNTIF в Excel 2016] | Подсчитайте значения с условиями, используя эту удивительную функцию. Вам не нужно фильтровать данные для подсчета определенных значений.

Функция Countif важна для подготовки вашей приборной панели.

link: / excel-formula-and-function-excel-sumif-function [Как использовать функцию СУММЕСЛИ в Excel] | Это еще одна важная функция приборной панели. Это поможет вам суммировать значения для конкретных условий.