пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Циклы с параметром в VBA.

 

Оператор цикла FOR …NEXT(цикл с параметром)

Оператор цикла с параметром используется тогда, когда заранее известно количество повторений цикла.Переменная I (параметр цикла)принимает значения начиная от N1 и увеличивается на каждой итерации цикла на величину K. Цикл завершается когда переменная Iдостигает заданного значения N2. По умолчанию (если не указан шаг приращения) переменнаяIувеличивается на каждой итерации цикла на 1. Если в качестве шага K(шаг) указать отрицательное число, то счетчик будет уменьшаться на каждой итерации цикла (I принимает последовательные убывающие значения от N1 до N2).

Примечание:

  1. Внутри цикла нельзя изменять ни начальное, ни конечное значения параметра цикла.
  2. Если в цикле For с положительным шагом самого начала N1>N2, то цикл не выполняется ни разу.
  3. Если в цикле Forс отрицательным шагом с самого начала N2<N1, то цикл также не выполняется ни разу.
  4. После выполнения оператора Forзначение I равно конечному значению, за исключением случая, когда цикл вообще не выполнялся (значение I будет в этом случае произвольным, точнее то же значение, что и до этого фрагмента программы).
  5. Вход в любой из рассмотренных выше операторов цикла возможен только через его начало.
  6. Необходимо предусмотреть выход из цикла: или по его естественному окончанию, или по оператору перехода, чтобы не произошло “зацикливания”.

Оператор цикла FOR EACH…NEXT(цикл с параметром)

ЦиклForEach … Nextповторно выполняет одну и ту же группу операторов для каждого набора объектов или массива. Это особенно полезно в том случае, когда не известно число элементов в наборе или когда их количество может измениться, пока работает процедура.

Общийвид:

For    Each   X   InN

ST

Next[ X ]

где X - параметр цикла (управляющая переменная цикла); N – группа (например: выделенный текст, диапазон ячеек и т.д.);ST - оператор (простой либо составной).

ВстретивоператорFor Each … Next, Visual Basic:

  1. Считает X именем первого элемента в N (если группа не пуста).
  2. Выполняет ST.
  3. Проверяет, не последний ли это элемент в группе, и, если да, завершает цикл.
  4. Подставляет вместо X имя следующего элемента в N.
  5. Повторяет операции 2-4.

Примечание:

  1. В случае наборов X может быть переменная типа Variant, Object или конкретного типа из библиотеки объектов, а для массивов – только Variant.
  2. Оператор ForEach … Next не годится для массивов пользовательских типов, так как в переменную типа Variant нельзя записать значение пользовательского типа.
  3. Если необходимо удалить все объекты из набора, то следует использовать цикл For … Next.


17.06.2016; 16:34
хиты: 2826
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь