Введение в информатику процессов первичной переработки нефти. Новиков А.А - 87 стр.

UptoLike

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

86
типу Variant. Во втором случае Вы можете определить ее как Variant, Object или
приписать ей конкретный объектный тип, соответствующий объектам семейства.
In ключевое слово, отделяющее переменную от группы
GasArray группа, то есть массив или семейство объектов. Количество повто-
рений цикла совпадает с числом элементов в группе. Переменной цикла при первом
выполнении присваивается значение первого элемента группы, затемвсех после-
дующих элементов.
MsgBox Name тело цикла (в данном случае всего одна инструкция). Внутри
тела цикла может быть любое количество инструкций, в том числе и вложенные
структуры For-Each-Next, но уже с другой переменной цикла.
Next ключевое слово, отмечающее конец инструкции. Достигнув его, про-
грамма возвращается к началу циклаинструкции For-Each. Если значение пере-
менной цикла совпадет с последним элементом группы, выполнится инструкция,
написанная сразу после Next.
В прошлых версиях VBA в инструкции For-Each-Next значения элементов мас-
сива можно было использовать, но нельзя было изменять. В версии Office-2003 и
старше изменение их свойств в инструкции For-Each допустимо.
2.9.7. Инструкция For-Each-Next с семействами (объектами)
Преимущество For-Each-Next при работе с массивами заключается в том, что
при программировании циклов не надо заботиться о количестве проходов цикла или
условии выхода из циклаон будет выполнен ровно столько раз, сколько элементов
массива Вы объявите в начале программы. Более того, если Вы решите изменить
количество элементов массива, то фрагмент с инструкцией For-Each переделывать
не понадобиться. Эти преимущества сохраняются и даже дают больший эффект в
обращении с объектами семейств. Рассмотрим простой пример.
Sub Pro33()
Dim ShV As Worksheet
For Each ShV In ActiveWorkbook.Worksheets
MsgBox ShV.Name
Next ShV
End Sub
В Рrо33 происходит обращение к каждому рабочему листу из семейства
Worksheets активной (открытой) рабочей книги, в результате которого имена листов
последовательно выводятся
на экран, хотя их количество программисту заранее не
известно. Например, изменим значения свойства Name всех рабочих листов книги:
Sub Pro34()
Dim ShV As Worksheet
For Each ShV In ActiveWorkbook.Worksheets
ShV.Name = "Новиков " & ShV.Name
MsgBox ShV.Name
Next ShV
End Sub