Инструкция For...Next
Инструкция For...Next используется для выполнения наборов инструкций указанное число раз. Циклы For используют в качестве счетчика переменную, значение которой увеличивается или уменьшается при каждом выполнении цикла.
Следующая процедура заставляет компьютер подавать звуковой сигнал 50 раз. Инструкция For определяет счетчик x и его начальное и конечное значения. Инструкция Next изменяет счетчик с шагом 1.
Sub Beeps()
For x = 1 To 50
Beep
Next x
End Sub
Имеется возможность увеличивать или уменьшать значение счетчика на указанную величину с помощью ключевого слова Step. В следующем примере счетчик j изменяется с шагом 2 при каждом выполнении цикла. По завершении цикла total равняется сумме 2, 4, 6, 8 и 10.
Sub TwosTotal()
For j = 2 To 10 Step 2
total = total + j
Next j
MsgBox "Сумма равна " & total
End Sub
Для уменьшения значения счетчика используется отрицательное значение Step. В этом случае указывается конечное значение, которое должно быть меньше начального значения. В следующем примере счетчик myNum уменьшается на 2 при каждом выполнении цикла. По окончании цикла total равняется сумме 16, 14, 12, 10, 8, 6, 4 и 2.
Sub NewTotal()
For myNum = 16 To 2 Step -2
total = total + myNum
Next myNum
MsgBox "Сумма равна " & total
End Sub
Примечание. Указание имени счетчика после инструкции Next не обязательно. В предыдущих примерах имя счетчика было указано для облегчения чтения программы.
Инструкция Exit For дает возможность завершения инструкции For...Next до того, как счетчик достигнет своего конечного значения. Например, если возникает ошибка, для ее проверки можно использовать инструкцию Exit For в блоке True инструкции If...Then...Else или инструкции Select Case. Если ошибки нет, инструкция If...Then...Else имеет значение False, и выполнение цикла продолжается как ожидалось.