Excel vba for next

Цикл For. Next в VBA Excel, его синтаксис и описание отдельных компонентов. Примеры использования цикла For. Next.

Цикл For. Next в VBA Excel предназначен для выполнения группы операторов необходимое количество раз, заданное управляющей переменной цикла – счетчиком. При выполнении цикла значение счетчика после каждой итерации увеличивается или уменьшается на число, указанное выражением оператора Step, или, по умолчанию, на единицу. Когда необходимо применить цикл к элементам, количество которых и индексация в группе (диапазон, массив, коллекция) неизвестны, следует использовать цикл For Each. Next.

Синтаксис цикла For. Next

В квадратных скобках указаны необязательные атрибуты цикла For. Next.

Компоненты цикла For. Next

Компонент Описание
counter Обязательный атрибут. Числовая переменная, выполняющая роль счетчика, которую еще называют управляющей переменной цикла.
start Обязательный атрибут. Числовое выражение, задающее начальное значение счетчика.
end Обязательный атрибут. Числовое выражение, задающее конечное значение счетчика.
Step* Необязательный атрибут. Оператор, указывающий, что будет задан шаг цикла.
step Необязательный атрибут. Числовое выражение, задающее шаг цикла. Может быть как положительным, так и отрицательным.
statements Необязательный** атрибут. Операторы вашего кода.
Exit For Необязательный атрибут. Оператор выхода из цикла до его окончания.
Next [ counter ] Здесь counter – необязательный атрибут. Это то же самое имя управляющей переменной цикла, которое можно здесь не указывать.

*Если атрибут Step отсутствует, цикл For. Next выполняется с шагом по умолчанию, равному 1.

**Если не использовать в цикле свой код, смысл применения цикла теряется.

Примеры циклов For. Next

Вы можете скопировать примеры циклов в свой модуль VBA, последовательно запускать их на выполнение и смотреть результаты.

Простейший цикл

Заполняем десять первых ячеек первого столбца активного листа Excel цифрами от 1 до 10:

Простейший цикл с шагом

В предыдущий цикл добавлен оператор Step со значением 3, а результаты записываем во второй столбец:

Цикл с отрицательными аргументами

Этот цикл заполняет десять первых ячеек третьего столбца в обратной последовательности:

Увеличиваем размер шага до -3 и записываем результаты в четвертый столбец активного листа Excel:

Читайте также:  Профиль мегафон для модема

Вложенный цикл

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

Выход из цикла

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

Следующий цикл будет искать в шестом столбце крокодила, который съел галоши. В ячейку седьмого столбца цикл, пока не встретит крокодила, будет записывать строку «Здесь был цикл», а когда обнаружит крокодила, запишет «Он съел галоши» и прекратит работу, выполнив команду Exit For. Это будет видно по ячейкам рядом с названиями животных ниже крокодила, в которых не будет текста «Здесь был цикл».

Результат работы циклов For. Next из примеров:

Результат работы циклов For. Next

Такие данные на активном листе Excel вы получите, если последовательно запустите на выполнение в редакторе VBA все семь подпрограмм из примеров, демонстрирующих работу циклов For. Next.

Цикл с дробными аргументами

Атрибуты start, end и step могут быть представлены числом, переменной или числовым выражением:

В результате вычисления значения переменной вне цикла или выражения внутри его может получиться дробный результат. VBA Excel округлит его до целого числа, используя бухгалтерское округление:

Повторяет группу операторов указанное количество раз. Repeats a group of statements a specified number of times.

Синтаксис Syntax

Для Counter (счетчик ) = Начало до конца [ шаг __ ] For counter = start To end [ Step step ]
[ Операторы ] [ statements ]
[ Exit For ] [ Exit For ]
[ Операторы ] [ statements ]
Далее [ Counter ] Next [ counter ]

Синтаксис оператора For…Next состоит из таких частей: The For…Next statement syntax has these parts:

Часть Part Описание Description
Счетчик counter Обязательно. Required. Переменная числового типа, использующаяся как счетчик цикла. Numeric variable used as a loop counter. Переменная не может быть типа Boolean или элементом массива . The variable can’t be a Boolean or an array element.
start start Обязательно. Required. Стартовое значение counter. Initial value of counter.
end end Обязательно. Required. Завершающее значение counter. Final value of counter.
пункта step Необязательно. Optional. Число counter меняется с каждым новым циклом. Amount counter is changed each time through the loop. Если оно не указано, step (шаг) по умолчанию задан единицей. If not specified, step defaults to one.
Операторы statements Необязательно. Optional. Один или больше операторов между For и Next, которые выполняются указанное количество раз. One or more statements between For and Next that are executed the specified number of times.
Читайте также:  Мегафон как поменять баллы на минуты

Примечания Remarks

Аргумент Step может быть положительным или отрицательным. The step argument can be either positive or negative. Значение аргумента Step определяет обработку цикла следующим образом. The value of the step argument determines loop processing as follows.

Значение Value Цикл выполняется, если Loop executes if
Положительное или 0 Positive or 0 __ counter
Negative Negative __ >= конец счетчика counter >= end

После того как выполнены все операторы цикла, step добавляется к counter. After all statements in the loop have executed, step is added to counter. В этой точке операторы цикла либо выполняются заново (по той же причине, что и стартовое выполнение цикла), либо цикл завершается, и выполнение продолжается оператором, следующим после Next. At this point, either the statements in the loop execute again (based on the same test that caused the loop to execute initially), or the loop is exited and execution continues with the statement following the Next statement.

Изменение величины counter внутри цикла может сказаться на читаемости и отладке кода. Changing the value of counter while inside a loop can make it more difficult to read and debug your code.

Любое количество операторов Exit For можно поместить в цикле в качестве альтернативного способа выхода. Any number of Exit For statements may be placed anywhere in the loop as an alternate way to exit. Exit For часто используется после оценки некоторого условия, например If. Затем, и передает управление оператору, следующему сразу после следующего. Exit For is often used after evaluating some condition, for example If. Then, and transfers control to the statement immediately following Next.

Можно использовать циклы For. Next, описывая цикл For. Next внутри другого. You can nest For. Next loops by placing one For. Next loop within another. Задайте для цикла уникальное имя переменной, как и соответствующий counter. Give each loop a unique variable name as its counter. Верна следующая конструкция: The following construction is correct:

Читайте также:  Драйвер realtek rtl8139 810x family fast ethernet

Если опустить counter в операторе Next, выполнение продолжится так, будто counter указан. If you omit counter in a Next statement, execution continues as if counter is included. Если оператор Next указан ранее соответствующего ему оператора For, возникает ошибка. If a Next statement is encountered before its corresponding For statement, an error occurs.

Пример Example

В этом примере показано использование оператора For. Next для создания строки, состоящей из 10 элементов, пронумерованных от 0 до 9, причем каждая строка отделяется от другой пробелом. This example uses the For. Next statement to create a string that contains 10 instances of the numbers 0 through 9, each string separated from the other by a single space. Во внешнем цикле используется переменная счетчика, уменьшающаяся с каждым шагом цикла. The outer loop uses a loop counter variable that is decremented each time through the loop.

См. также See also

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Цикл For…Next имеет следующий синтаксис:

For i = Start To End [Step StepSize]

i – численная переменная VBA (счетчик)

Start – численное выражение, определяет начальное значение для переменной

End – это также численное выражение, определяет конечное значение для переменной.

Цикл по счетчику выделяется ключевыми словами For и Next. После начального For указывается имя переменной, данная переменная (i) будет счетчиком, после знака равенства идёт начальное значение счетчика, а после ключевого слова To – конечное значение счетчика. По умолчанию счётчик работает с шагом равным единице. Можно задавать другое значение (StepSize), на которое будет изменяться «i», включая необязательное ключевое слово Step. При включении ключевого слова Step необходимо задавать значение для изменения переменной «i».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector