Сышышь ты, выходи сюда,
поговорим !

VBA Excel. Цикл While...Wend

Опубликовано: 01.09.2018

видео VBA Excel. Цикл While...Wend

-19- VBA Excel. Цикл Do Loop (Циклы ч.3)

Цикл While...Wend в VBA Excel, его синтаксис и описание отдельных компонентов. Примеры использования цикла While...Wend и его отличия от цикла Do While... Loop.



Цикл While...Wend в VBA Excel предназначен для повторения блока операторов до тех пор, пока выполняется заданное условие (возвращается значение True). По своему функционалу его можно считать ограниченной версией цикла Do While... Loop , который позволяет проверять условие как до, так и после выполнения операторов, и принудительно завершать цикл с помощью оператора Exit Do. У цикла While...Wend таких возможностей нет: условие может быть задано только перед блоком операторов, а принудительный выход из цикла не предусмотрен.


Урок 7 VBScript Циклы do loop и while wend

Синтаксис цикла While...Wend Компоненты цикла While...Wend Примеры циклов While...Wend

Синтаксис цикла While...Wend

While condition [ statements ] Wend

Компоненты цикла While...Wend

Компонент Описание
condition Обязательный атрибут. Условие выполнения цикла. Выражение, возвращающее значение типа Boolean .
statements Необязательный* атрибут. Операторы вашего кода.

*Если не использовать в цикле свой код, смысл применения цикла теряется.


Программирование на VBA простыми словами ур. 5 (Циклы)

Примеры циклов While...Wend

Простейший цикл

Sub test1() Dim a As Byte While a < 100 a = a + 7 Wend MsgBox a End Sub

Информационное сообщение MsgBox выведет число 105.

Проход по строкам листа

Допустим, на листе Excel есть таблица, расположенная в левом верхнем углу, начиная с ячейки A1, и под ней - пустая строка. Таблица содержит следующие данные:

Товар Кол-во Цена Сумма
Батон 1 33
Лимон 2 30
Молоко 3 55
Хлеб 1 30
Чипсы 5 18

Исходя из этих данных, необходимо, используя цикл While...Wend для прохода по строкам листа Excel, рассчитать сумму по каждому наименованию товара и записать ее в четвертую графу, а также в первую пустую строку записать слово «Итого:» (в третью графу) и итоговую сумму (в четвертую графу).

Sub test2() Dim i As Long, a As Double i = 2 While Cells(i, 1) <> "" Cells(i, 4) = Cells(i, 2) * Cells(i, 3) a = a + Cells(i, 4) i = i + 1 Wend Cells(i, 3) = "Итого:" Cells(i, 4) = a End Sub

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

rss