Объектно-ориентированный подход в программировании. Проектирование и реализация приложений в среде Microsof Office. Евсеева О.Н. - 56 стр.

UptoLike

Составители: 

1.3. Visual Basic for Applications 57
3
Имеется также две разновидности оператора цикла For...Next. Наиболее
часто используется следующая конструкция:
For счетчик = начальноеЗначение To конечноеЗначение
[Step приращение]
группаОператоров
Next [счетчик]
Важно отметить, что:
"приращение"может быть как положительным, так и отрицательным
числом. Если использовать отрицательное приращение, то конечное
значение должно быть меньше либо равно начальному значению для того,
чтобы тело цикла выполнилось хотя бы один раз.
После завершения работы цикла For...Next переменная, которая
использовалась в качестве счетчика, получает значение, обязательно
превосходящее конечное значение в том случае, если приращение
положительно, и строго меньшее конечного значения, если приращение
отрицательно.
Если начальное и конечное значения совпадают, тело цикла выполняется лишь
один раз.
Есть еще одна разновидность цикла For...Next, часто использующаяся в
VBA при обработке объектов, составляющих массив или семейство
однородных объектов. В этой разновидности цикла For...Next отсутствует
счетчик, а тело цикла выполняется для каждого элемента массива или
семейства объектов. Вот синтаксис такого цикла:
For Each элемент In совокупность
группаОператоров
Next [элемент]
где:
элементэто переменная, используемая для ссылки на элементы
семейства объектов;
совокупностьэто имя массива или семейства.
Рассмотрим пример использования подобного цикла с вложенным в тело цикла
оператором ветвления If. Этот цикл предназначается для обработки всех ячеек
выделенного диапазона на рабочем листе Excel, заключающегося в
закрашивании незаполненных ячеек в выделенном диапазоне с помощью
следующей процедуры:
Sub SelectionPaintEmpty()
Dim ячейка As Object
For Each ячейка In Selection
If ячейка.Value = "" Then