Работа с объектами и коллекциями
Конструкция
With – End
Withпозволяет
выполнить несколько операций над одним
объектом.
With
<объект>
<инструкции>
End
With
With
Selection.Font
.Bold
= True
.Italic
= True
.Size
= 14
.Name
= Cambria
End
With
Selection.Font.Bold
= True
Selection.Font.Italic
= True
Selection.Font.Size
= 14
Selection.Font.Name=Cambria
Код
с использованием конструкции With
– End Withвыполняется быстрее, чем аналогичный
код без этой конструкции. При записи
макросов конструкцияWith
– End Withприменяется при каждой возможности.
Конструкция
For Each
– Nextпозволяет
обработать все элементы какой-либо
коллекции.
ForEach<элемент>In<коллекция>
<инструкции>
[ExitFor]
<инструкции>
Next<элемент>
'Вывод
имён всех рабочих листов в активной
рабочей книге
Dim
item As Worksheet
For
Each item In ActiveWorkbook.Worksheets
MsgBox
item.Name
Next
item
'Закрытие
всех рабочих книг, кроме активной
Dim
book As Workbook
For
Each book In Workbooks
If
book.Name <> ActiveWorkbook.Name Then book.Close
Next
book
'Выделение
первой ячейки в диапазоне, имеющей
отрицательное значение
Dim
cell As Range
For
Each cell In Selection
If
cell.Value < 0 Then
cell.Select
Exit
For
End
If
Next
cell