9. Объекты Range. Свойства и методы.
Этот объект используется для задания получателя любого действия. Диапазон может представлять одну ячейку, целую строку или колонку рабочего листа, произвольный двух- и трехмерный блок ячеек рабочей книги. В то время, как рабочая книга может иметь несколько диапазонов одновременно, не существует коллекции Ranges, осуществляющей доступ ко всем этим объектам.
Объект Range можно получить из свойства Range объектов Application, Worksheet или Range. Но работа с этим свойством в указанных объектах отличается друг от друга. Свойство Application.Range ссылается на текущий активный рабочий лист. Таким образом, после выполнения фрагмента
Dim RangeI As Range
Set Rangel=Application.Range(”A2″)
диапазон Range 1 будет ссылаться на ячейку А2 в том рабочем листе, который оказался активным во время работы программы. Как противоположность этому, свойство Worksheet. Range будет ссылаться на конкретный рабочий лист. Следующий фрагмент установит ссылку Range2 на ячейку В2 в рабочем листе SalesData, независимо от того, какой рабочий лист активен в данный момент:
Dim Range2 As Range-
Set Range2=Worksheets(”SalesData”).Range(”A2″)
Свойство Range.Range отличается тем, что оно возвращает позицию относительно первого диапазона. Рассмотрим следующий фрагмент:
Dim Range3 As Range, Range4. As Range
Set Range3=Worksheets(”SalesData”).Range(”B2″)
Set Range4=Range3.Range(”C4″‘)
В результате его выполнения Range4 будет ссылаться вовсе не на ячейку С4, а на D5. Это произошло потому, что данный диапазон устанавливается относительно диапазона Range3, который уже ссылается на В2, поэтому и результат смещается соответствующим образом — в данном случае на одну колонку вправо и на одну строку вниз.