Оператор For...Next

Повторяет группу операторов указанное количество раз.

Синтаксис

Длясчетчика=starttoend [ Шаг шаг ]
[ операторы ]
[ Выход для ]
[ операторы ]
Следующий [ счетчик ]

Синтаксис оператора For…Next состоит из таких частей:

Part Описание
Счетчик Обязательно. Переменная числового типа, использующаяся как счетчик цикла. Переменная не может быть типа Boolean или элементом массива .
start Обязательно. Стартовое значение counter.
end Обязательно. Завершающее значение counter.
Шаг Необязательный параметр. Число counter меняется с каждым новым циклом. Если оно не указано, step (шаг) по умолчанию задан единицей.
Операторы Необязательный параметр. Один или больше операторов между For и Next, которые выполняются указанное количество раз.

Замечания

Аргументшага может быть положительным или отрицательным. Значение аргумента step определяет обработку цикла следующим образом.

Значение Цикл выполняется, если
Положительное или 0 Счетчик<= конец
Negative Счетчик>= конец

После того как выполнены все операторы цикла, step добавляется к counter. В этой точке операторы цикла либо выполняются заново (по той же причине, что и стартовое выполнение цикла), либо цикл завершается, и выполнение продолжается оператором, следующим после Next.

Совет

Изменение величины counter внутри цикла может сказаться на читаемости и отладке кода.

Любое количество операторов Exit For может быть размещено в любом месте цикла в качестве альтернативного способа выхода. Выход для часто используется после оценки некоторых условий, например Если... Затем и передает управление оператору сразу после Next.

Можно использовать циклы For...Next, описывая цикл For...Next внутри другого. Задайте для цикла уникальное имя переменной, как и соответствующий counter. Верна следующая конструкция:

For I = 1 To 10 
 For J = 1 To 10 
 For K = 1 To 10 
 ... 
 Next K 
 Next J 
Next I 

Примечание.

Если опустить counter в операторе Next, выполнение продолжится так, будто counter указан. Если оператор Next указан ранее соответствующего ему оператора For, возникает ошибка.

Пример

В этом примере показано использование оператора For...Next для создания строки, состоящей из 10 элементов, пронумерованных от 0 до 9, причем каждая строка отделяется от другой пробелом. Во внешнем цикле используется переменная счетчика, уменьшающаяся с каждым шагом цикла.

Dim Words, Chars, MyString 
For Words = 10 To 1 Step -1 ' Set up 10 repetitions. 
 For Chars = 0 To 9 ' Set up 10 repetitions. 
 MyString = MyString & Chars ' Append number to string. 
 Next Chars ' Increment counter 
 MyString = MyString & " " ' Append a space. 
Next Words 

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.