Шаг 22 - Инструкция For...Next

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

For счетчик = начало To конец [Step шаг]
[инструкции]
[Exit For]
[инструкции]
Next [счетчик]

Параметры
счетчик
Обязательный. Числовая переменная, используемая в качестве счетчика цикла. Эта переменная не может принадлежать к типу Boolean или быть элементом массива.
начало
Обязательный. Начальное значение переменной счетчик.
Конец
Обязательный. Конечное значение переменной счетчик.
Шаг
Необязательный. Значение, на которое изменяется счетчик при каждом выполнении тела цикла. Если это значение не задано, по умолчанию шаг равен единице.
инструкции
Необязательный. Одна или несколько инструкций между For и Next, которые выполняются указанное число раз.

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

Положительное или 0	счетчик <= конец
Отрицательное		счетчик >= конец

После выполнения всех инструкций цикла значение шаг добавляется к текущему значению переменной счетчик. После этого инструкции цикла либо выполняются еще раз (на основе того же условия, которое привело к начальному выполнению цикла), либо цикл завершается и выполнение продолжается с инструкции, следующей за инструкцией Next.
Изменение значения переменной счетчик внутри цикла усложняет чтение и отладку программы.
Альтернативный способ выхода из цикла предоставляет инструкция Exit For. В любых местах цикла может размещаться любое число таких инструкций. Инструкция Exit For часто применяется вместе с проверкой некоторого условия (например, If...Then). Эта инструкция передает управление инструкции, непосредственно следующей за инструкцией Next.
Допускается организация вложенных циклов For...Next (один цикл For...Next располагается внутри другого). Счетчик каждого цикла должен иметь уникальное имя. Допускаются следующие конструкции:

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

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

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

Dim Words, Chars, MyString
For Words = 10 To 1 Step -1 			' Цикл выполняется 10 раз.
	For Chars = 0 To 9				' Цикл выполняется 10 раз.
		MyString = MyString & Chars		' Добавляет цифру в конец строки.
	Next Chars				' Увеличивает счетчик.
	MyString = MyString & " "			' Добавляет пробел.
Next Words

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.