Excel VBA - Союз та перетин

Excel VBA має два методи, що належать об’єкту Application, для маніпулювання двома або більше діапазонами: Union та Intersect.

Союз

Метод Union повертає всі комірки у двох або більше діапазонах, переданих як його аргумент.

Наступна команда вибере діапазон, показаний на зображенні нижче:

1 Союз (Діапазон ("A1: B4"), Діапазон ("B3: C6")). Виберіть

Ви можете призначити будь -яке значення або формулу діапазону, що повертається методом Union:

1 Союз (Діапазон ("A1: B4"), Діапазон ("B3: C6")) = 10

Це буде вводити значення 10 у кожну клітинку Союзу.

Ви можете обернути будь -яку функцію, яка узагальнює діапазон, навколо методу Union. Наступний приклад поверне суму значень у діапазонах A1: B4 та B3: C6:

1 Результат = Application.WorksheetFunction.Sum (об'єднання (Діапазон ("A1: B4"), Діапазон ("B3: C6")))

Ви можете бути здивовані, отримавши значення в результаті як 160! Хоча в об’єднанні є лише 14 клітинок (по 8 у кожному діапазоні, причому 2 є загальними), коли ви дивитесь на Виділення, Union фактично повертає 16 клітинок, отже, результат - 160.

Перетинаються

Метод Intersect повертає лише загальні клітинки у двох або більше діапазонах, переданих як його аргумент.

Наступна команда вибере діапазон, показаний (сіра область) на зображенні нижче:

1 Перетинати (Діапазон ("A1: B4"), Діапазон ("B3: C6")). Виберіть

Використання Intersect

Найчастіше Інтерсект використовується у подіях, пов'язаних з робочим аркушем або робочою книгою. Він використовується для перевірки того, чи належать змінені клітинки до діапазону, що представляє інтерес. Наступний приклад з перевіркою, чи змінилися клітинки (ідентифіковані ціллю) та діапазоном A1: A10 є загальними, і вживайте відповідних заходів, якщо вони є.

Об'єкт перетинання нічого не повертає, якщо немає загальних клітинок, тому Перетинання (ціль, діапазон (“A1: A10”)) “Ніщо” не буде істинним, якщо немає загальних клітин. Додавання "Не" до цієї умови робить її істинною лише у тому випадку, якщо результат тесту Перетинання (ціль, діапазон ("A1: A10")) "Ніщо" не є хибним, іншими словами, ціль та діапазон A1: A10 мають деякі спільні клітини.

12345 Приватний робочий аркуш_Змінити (ціль ByVal як діапазон)Якщо не перетинається (ціль, діапазон ("A1: A10")) То нічого'Зробіть бажану діюЗакінчити ЯкщоEnd Sub

Автор: Вінамра Чандра

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave