VBA Excel. Метод Application.Intersect (пересечение диапазонов)

Определение блока ячеек, расположенного на пересечении двух и более диапазонов, с помощью метода Application.Intersect из кода VBA Excel. Пример.

Описание

Application.Intersect – это метод VBA Excel, возвращающий прямоугольный объект Range, находящийся на пересечении двух или более указанных диапазонов.

Если общие ячейки для всех заданных диапазонов не обнаружены, метод Application.Intersect возвращает значение Nothing.

Если в качестве аргументов метода Application.Intersect указаны диапазоны из разных листов, возвращается ошибка.

Синтаксис

  • Arg1, Arg2 – обязательные аргументы, представляющие из себя пересекающиеся диапазоны (объекты Range).
  • Arg3, …, Arg30* – необязательные аргументы, представляющие из себя пересекающиеся диапазоны (объекты Range).

* Допустимо использование до 30 аргументов включительно.

Пример

Строку

можно записать без использования переменных так:

Есть и другой способ определения пересечения диапазонов. Он заключается в использовании свойства Range объекта Worksheet*:

Но у этого способа есть существенных недостаток – свойство Range возвращает ошибку, если пересечение указанных диапазонов не существует. Поэтому преимущество остается за методом Application.Intersect, который, в этом случае, возвратит значение Nothing.

* Если код VBA Excel работает со свойствами активного листа, объект Worksheet можно не указывать. Например, строка MsgBox Name отобразит имя активного листа.

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

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

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