Указание ключевого слова Step и величины шага не является обязательным. Если
они не определены, VBA выполняет цикл с шагом 1.
Result = Result * Base(Count1) − тело цикла. Может состоять из нескольких
инструкций.
Next Count1− ключевое слово, отмечающее конец инструкции For-Next. При
достижении ключевого слова Next значение счетчика увеличивается на величину
шага, после чего управление передается на начало цикла. Затем происходит
сравнение счетчика с конечным значением, и цикл при необходимости повторяется
снова.
3.10.4. Управляющая инструкция While-Wend
Действие ее подобно действию For-Next, но группа инструкций выполняется не
заданное число раз, а до соблюдения определенного условия. В программе Рro31
инструкция While-Wend использована для выделения определенного значения из
последовательности случайных чисел.
Sub Pro31()
Dim L As Integer
L = 0
While L <> 7
L = Int(100 * Rnd())
Beep
Wend
MsgBox "Выпало число = " & L & ". Вы выиграли! (шутка)"
End Sub
Программа Рro31 гарантирует, что в информационном окне всегда отображается
заданное число (в данном примере 7). Цикл While-Wend выполняется (то есть
вызывается встроенная функция – датчик случайного числа Rnd), пока значение
переменной L не станет равным 7 (в условии использован оператор неравенства <>).
При каждом выполнении цикла этой переменной присваивается случайное
значение от 0 до 99, а затем (впрочем, без особой надобности) вызывается функция
VBA Веер, подающая звуковой сигнал через внутренний динамик компьютера.
Запустите эту программу несколько раз, и Вы услышите разное количество
сигналов, в зависимости от того, на каком шаге генератор случайных чисел вернет
число 7. Чтобы генератор случайных чисел при каждом запуске приложения
выдавал новую последовательность случайных чисел, вставьте в начало программы
команду Randomize. Если Вы этого не сделаете, при каждом открытии файла
рабочей книги будет генерироваться одна и та же последовательность. Рассмотрим
структуру цикла While-Wend подробнее.
While − ключевое слово, отмечающее начало инструкции While-Wend.
L <> 7 − условие, определяющее, будет или нет, выполнен цикл. Если оно
соблюдено, цикл выполняется, если нет, − управление передается инструкции,
стоящей за ключевым словом Wend.
L = Int(10 * Rnd()) − первая инструкция цикла
Веер − вторая инструкция цикла
Wend − ключевое слово, отмечающее конец инструкции While-Wend.
99