Как использовать offset с объектом диапазона в vba?

Используя OFFSET с объектом диапазона, вы можете перемещаться от ячейки к ячейке на листе, а также выбирать ячейку или диапазон. Это также дает вам доступ к свойствам и методам, которые у вас есть для используемого объекта диапазона, но вы должны указать аргументы в OFFSET, чтобы использовать его.

Использование OFFSET с объектом Range

  1. Укажите диапазон, с которого вы хотите начать.
  2. Введите точку (.), чтобы получить список свойств и методов.
  3. Выберите свойство смещения и укажите аргументы (строку и столбец).
  4. В конце выберите свойство, которое будет использоваться со смещением.
смещение с объектом диапазона

Выберите диапазон, используя OFFSET.

Вы также можете выбрать диапазон, который находится на расстоянии нескольких строк и столбцов от диапазона. Возьмите строку кода ниже, которая выбирает диапазон из двух ячеек, состоящий из пяти строк вниз и трех столбцов справа.

 Range("A1:A2").Offset(3, 2).Select
выбрать диапазон, используя смещение

Помимо этого, вы также можете написать код для выбора диапазона, используя нестандартный размер. Рассмотрим пример следующего кода.

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
выберите диапазон, используя нестандартный размер

Чтобы понять этот код, нужно разделить его на три части.

разделен на три части

Прежде всего, в этом объекте диапазона у вас есть возможность указать первую и последнюю ячейку диапазона.

возможность указать первую ячейку

Теперь вернемся к примеру:

  • В первой части вы использовали объект диапазона для ссылки на ячейку, расположенную на одну строку ниже и на один столбец справа от ячейки A1.
  • Во второй части вы использовали объект диапазона для ссылки на ячейку, расположенную на пять строк ниже и на два столбца справа от ячейки A1.
  • В части THRID вы использовали ячейки в первой и второй частях для ссылки и выбора диапазона.

Использование OFFSET с ActiveCell

Вы также можете использовать активную ячейку вместо предопределенного диапазона. Это означает, что вы получите динамическое смещение для выбора ячейки при переходе от активной ячейки.

 ActiveCell.Offset(5, 2).Select

Приведенная выше строка кода выберет ячейку, которая находится на пять строк ниже и на два столбца справа от активной ячейки.

Использование OFFSET с ActiveCell для выбора диапазона

Используйте следующий код, чтобы выбрать диапазон в активной ячейке.

 Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select

Чтобы понять, как работает этот код, обязательно ознакомьтесь с этим объяснением.

Скопируйте диапазон, используя OFFSET

 Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy

Использование свойства Cells с OFFSET

Вы также можете использовать свойство OFFSET со свойством CELLS. Рассмотрим следующий код.

 Cells(1, 3).Offset(2, 3).Select
свойство ячейки со смещением

Приведенный выше код сначала ссылается на ячейку A1 (как вы указали) с первой строкой и первым столбцом, используя свойство ячеек, затем использует свойство смещения, чтобы выбрать ячейку, которая находится на две строки ниже и имеет три столбца.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *