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


Ви можете використовувати метод Union у VBA, щоб об’єднати кілька діапазонів в один.

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

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Цей конкретний макрос об’єднує діапазон A1:A10 і C1:C10 в один діапазон, а потім призначає формулу Excel =RANDBETWEEN(1, 100) кожному значенню в цьому об’єднаному діапазоні, що створює випадкове значення від 1 до 100.

У наступному прикладі показано, як на практиці використовувати метод Union у VBA.

Приклад: як використовувати об’єднання у VBA для об’єднання діапазонів

Ми можемо визначити такий макрос у VBA, щоб використовувати метод Union для об’єднання діапазонів A1:A10 і C1:C10 :

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Кожна клітинка в діапазонах A1:A10 і C1:C10 тепер містить формулу =RANDBETWEEN(1, 100) , яка повертає випадкове ціле число від 1 до 100.

Також зауважте, що ми можемо надати більше двох діапазонів для методу Union .

Наприклад, ми могли б створити наступний макрос, який використовує метод об’єднання для об’єднання трьох різних діапазонів, а потім вставити формулу в комірку кожного діапазону:

 SubUseUnion ()

Set UnionRange = Application.Union(Range("A1:A10"), Range("C1:C10"), Range("D1:D5" ))
UnionRange.Formula = "=RANDBETWEEN(1, 100)"

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Усі три діапазони, які ми об’єднали в один, містять формулу RANDBETWEEN .

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

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

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

Як використовувати перетин у VBA
Як підрахувати кількість стовпців, що використовуються у VBA
Як підрахувати кількість аркушів у книзі у VBA

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

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