Перейти к содержимому

VBA Excel. Свойство Range.Offset

Свойство Offset объекта Range, возвращающее смещенный диапазон, в том числе отдельную ячейку, в коде VBA Excel. Синтаксис, параметры, примеры.

  1. Синтаксис
  2. Параметры
  3. Примеры
Offset – это свойство объекта Range, возвращающее диапазон той же размерности, но смещенный относительно указанного диапазона на заданное количество строк и столбцов.

Синтаксис

Синтаксис свойства Range.Offset:

Expression.Offset (RowOffset, ColumnOffset)

Expression – это выражение (переменная), возвращающее исходный объект Range, относительно которого производится смещение.

Параметры

RowOffset – это параметр, задающий смещение диапазона по вертикали относительно исходного на указанное количество строк.

Значение RowOffset Направление смещения
Отрицательное вверх
Положительное вниз
0 (по умолчанию) нет смещения

ColumnOffset – это параметр, задающий смещение диапазона по горизонтали относительно исходного на указанное число столбцов.

Значение ColumnOffset Направление смещения
Отрицательное влево
Положительное вправо
0 (по умолчанию) нет смещения

Необходимо следить за тем, чтобы возвращаемый диапазон не вышел за пределы рабочего листа Excel. В противном случае VBA сгенерирует ошибку (Пример 3).

Примеры

Пример 1
Обращение к ячейкам, смещенным относительно ячейки A1:

Sub Primer1()
  Cells(1, 1).Offset(5).Select
    MsgBox ActiveCell.Address
  Cells(1, 1).Offset(, 2).Select
    MsgBox ActiveCell.Address
  Cells(1, 1).Offset(5, 2).Select
    MsgBox ActiveCell.Address
End Sub

Пример 2
Обращение к диапазону, смещенному относительно исходного:

Sub Primer2()
  Range("C8:F12").Offset(-3, 5).Select
    MsgBox Selection.Address
End Sub

Пример 3
Пример ошибки при выходе за границы диапазона рабочего листа:

Sub Primer3()
On Error GoTo ErrorText
  Cells(1, 1).Offset(-3).Select
Exit Sub
ErrorText:
  MsgBox "Ошибка: " & Err.Description
End Sub
Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег [vb] и по окончании кода - [/vb].