Як використовувати intersect у vba (з прикладами)


Ви можете використовувати метод Intersect у VBA, щоб повернути діапазон, який представляє перетин двох певних діапазонів.

Ось поширений спосіб використання цього методу на практиці:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Потім ви можете ввести цю функцію безпосередньо в електронну таблицю Excel, вказавши два діапазони, і функція поверне кожне значення в діапазоні, який представляє перетин цих двох діапазонів.

У наведених нижче прикладах показано, як використовувати цю функцію на практиці з таким набором даних у Excel:

Приклад 1: Знайти перетин двох діапазонів (з однією клітинкою як результат)

Припустімо, ми хочемо повернути значення клітинки, яке представляє перетин між діапазоном A2:C2 і A1:A11 .

Ми можемо визначити таку функцію у VBA:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Потім ми можемо ввести цю функцію безпосередньо в клітинку нашої електронної таблиці:

Формула повертає значення Mavs , яке представляє перетин діапазону A2:C2 і A1:A11 :

Приклад 2: Знайти перетин двох діапазонів (з кількома клітинками як результат)

Припустімо, ми хочемо повернути весь діапазон клітинок, який представляє перетин між діапазоном A1:C3 і A1:B10 .

Ми можемо визначити таку функцію у VBA:

 Function FindIntersect(range1, range2)
    FindIntersect = Application.Intersect(range1, range2)
End Function

Потім ми можемо ввести цю функцію безпосередньо в клітинку нашої електронної таблиці:

Формула повертає весь прямокутний діапазон значень, який представляє перетин діапазону A1:C3 і A1:B10 :

Примітка . Ви можете знайти повну документацію для методу VBA Intersect тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: як підрахувати кількість використаних стовпців
VBA: як підрахувати рядки в таблиці
VBA: Як підрахувати кількість аркушів у робочій книзі

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *