Sub ПримерПеремОбъекта()
Dim WorkingRange As Range
3:
4: Set WorkingRange = Workbooks("Час8").Worksheets("Лист1").Range("A1:D1")
5:
6: WorkingRange.Font.Bold = True
7: WorkingRange.Font.Italic = True
8: WorkingRange.Font.Name = "Courier"
9:
End Sub
В этом листинге имя переменной WorkingRange применяется вместо ссылки на диапазон A1:D1, который находится на рабочем листе Лист1 рабочей книги Час8. Такая замена освобождает от необходимости частого написания длинного полного имени объекта. Далее в этой книге вы найдете другие способы использования переменных-объектов.
При написании кода процедур я придерживаюсь следующего правила: если длинное полное имя объекта используется более двух раз, то его лучше заменить именем переменной-объекта.
Коллекции
Рассмотрим следующее полное имя объекта:
Application.Workbooks("Книга1").Worksheets("Лист1").Range("A1")
Обратите внимание на слова Workbooks и Worksheets - это коллекции. Коллекцией называется группа подобных объектов. В нашем примере Книra1 - это элемент коллекции Workbooks.
Объект Range не является коллекцией. Одно из определяющих свойств коллекции - возможность добавлять в нее новые элементы. В объект Range вы не сможете добавить другие диапазоны ячеек, так как в Excel диапазоны жестко определены и ограничены еще во время их задания.