Оператор 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
См. также
- Ускорение для... Следующие циклы
- Использование для... Следующие операторы
- Оператор For Each...Next
- Типы данных
- Операторы
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.