Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Свойство Offset

Свойство Offset позволяет задавать ячейки или интервалы при помощи числа строк и колонок, которые отделяют нужную ячейку от исходной ячейки, т.е. указывая смещение относительно выбранной ячейки. Например, Range("A5").Offset(-2,1) возвращает ячейку B3.

Синтаксис object.Offset([RowOffset][,ColumnOffset])

  • object – ссылка на объект Range. Ссылка обязательна и определяет объект, относительно которого задается смещение;

  • RowOffset – смещение строки искомой ячейки относительно исходной ячейки;

  • ColumnOffset – смещение столбца искомой ячейки относительно исходной ячейки.

Необязательные аргументы RowOffset и ColumnOffset – числовые выражения. Если какой-то аргумент не задан, то соответствующее смещение равно нулю.

Например, если выделен интервал C1:D5, то запись Selection.Offset(2,1).Select выделяет интервал D3:E7.

Метод Union и свойство Areas

Метод Union используется для объединения двух и более объектов Range, заданных ссылками на непересекающиеся интервалы, в один объект Range.

Синтаксис Object.Union (arg1,arg2,...)

  • object – всегда объект Application. Ссылка необязательна;

  • arg1,arg2 – интервалы ячеек. Количество аргументов произвольно. Обязательно наличие хотя бы двух аргументов.

Например, оператор Union(Range("A1:C5"),Range("B10:D12")).Select выделяет несмежные интервалы A1:C5 и B10:D12.

Свойство Areas выполняет обратное действие, разделяя объединенные интервалы на несколько объектов Range.

Синтаксис Object.Areas(index)

  • object – ссылка на объект Range, состоящий из нескольких интервалов;

  • index – номер интервала в объекте. Аргумент необязателен.

Примеры

Оператор

Комментарий

Результат

p=Union (Range("A1:C5"), Range("B10:D12")).Areas(2).Count

Если аргумент задан, то свойство Areas возвращает интервал – объект Range, определенный индексом интервала

равен девяти, так как во втором интервале ровно 9 ячеек

p=Union(Range("A1:C5"), Range("B10:D12")).Areas.Count

Cвойство Areas без аргументов рассматривает каждый из несмежных интервалов как элемент коллекции объектов Range

равен двум, так как объект, определенный методом Union, состоит из двух областей – коллекции из двух элементов

p=Range("B10:D12").Areas.Count

равен единице, так как объект Range представляет один элемент коллекции

Пример

Процедура заполняет ячейки рабочего листа следующими значениями: интервалы A1:B6 и E1:F6 – все единицы; интервалы A8:C9 и C1:D6 – все тройки. Дополнительно выделяются четные строки из первых шести строк.

Sub fill_int()

Union(Range("A1:B6") ,Range("E1:F6")) = 1

Union(Range("C1:D6") ,Range("A8:C9")) = 3

Union(Rows(2), Rows(4), Rows(6)).Select

End Sub

Для объединения несмежных интервалов используется метод Union.

Свойство Value объекта Range является свойством по умолчанию, поэтому его указание необязательно