Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

206

Часть

III. Visual Basic for Applications

данных V a r i a n t ,

содержащий значения удвоенной

точности. Например, если

в ячейке находится значение даты 12/ 6/ 2010, свойство v a l u e вернет ее как D a te ,

а свойство V a l u e 2

— в виде значения удвоенной точности (например, 40518).

Примечание

В предыдущем примере аргумент свойства C e l l s не ограничен значениями

вдиапазоне от 1 до 40. Если значение аргумента превышает количество ячеек

вдиапазоне, счет продолжается, как будто он больше, чем есть на самом де­ ле. Следовательно, оператор, подобный предыдущему, может изменить зна­ чение ячейки, которая находится за пределами указанного диапазона А1 :D10. Например, следующий оператор изменяет значение в ячейке А11:

R a n g e ( " A 1 : D 1 0 " ) . C e l l s (4 1 )= 2 0 00

Третий пример синтаксиса свойства C e lls возвращает все ячейки на указанном ра­ бочем листе. В отличие от двух других, в этом синтаксисе возвращаемыми в результате данными будет не одна ячейка, а целый диапазон. В приведенном ниже примере исполь­ зован метод C le a rC o n te n ts по отношению к диапазону, полученному с помощью свойства C e lls для активного рабочего листа. В результате будет удалено содержимое каждой ячейки на рабочем листе.

A c t i v e S h e e t . C e l l s . C l e a r C o n t e n t s

Свойство Offset

Свойство O ffs e t (подобно свойствам Range и C e lls) также возвращает объект Range. В отличие от рассмотренных выше свойств, O ffse t применяется только к объекту Range и ни к какому другому. Данное свойство использует единственный синтаксис.

о б ъ е к т . O f f s e t ( см ещ ен и е_ ст роки , см ещ ен и е_ст олбц а)

Два аргумента свойства O ffs e t соответствуют смещению относительно левой верх­ ней ячейки указанного диапазона Range. Эти аргументы могут быть положительными (сдвиг вниз или вправо), отрицательными (вверх или влево) или нулевыми. В приведен­ ном ниже примере значение 12 вводится в ячейку, которая находится под активной.

A c t i v e C e l l . O f f s e t ( 1 , 0 ) . V a l u e = 12

В следующем примере значение 15 вводится в ячейку над активной ячейкой:

A c t i v e C e l l . O f f s e t ( - 1 , 0 ) . V a l u e = 15

Если активная ячейка находится в строке 1, то свойство O ffs e t в предыдущем при­ мере выдаст ошибку, так как оно возвращает несуществующий объект Range.

Свойство O ffs e t особо эффективно при использовании переменных в цикле (см. следующую главу).

В процессе записи макроса в относительном режиме указания ссылки Excel использует свойство O ffs e t для обращения к ячейкам относительно начальной позиции (т.е. актив­ ной в момент начала записи макроса ячейки). Например, для генерации следующего кода применена функция записи макросов. Вначале включим запись макроса (при активной ячейке В1), после введем значение в ячейки В1 :ВЗ, а затем вновь вернемся к ячейке В1.

Sub M a c r o l ()

A c t i v e C e l l . F o r m u l a R l C l = "1 "

A c t i v e C e l l . O f f s e t (1, 0 ) . R a n g e ( " A l " ) . S e l e c t

A c t i v e C e l l . F o r m u l a R l C l = "2 "