VBA съюз - Присъединете се към множество диапазони, като използвате Excel VBA Union

Съдържание

Excel VBA съюз

Обединението в VBA е подобно на обединението в други програмни езици, в VBA използваме съюз, за ​​да комбинираме два или повече от два диапазона, за да изпълняваме различни набори от операции върху тях, изразът, използван за това, сам по себе си е съюз и се нарича метод на обединение например обединение (диапазон (B2: C7), диапазон (D2: E7)). изберете и този метод ще избере клетките.

Методът Union изпълнява задачата да създаде обединение от два или повече диапазона и връща резултата като RANGE обект. Това работи точно по същия начин като примера по-долу с обект VBA RANGE.

Синтаксис

Сега разгледайте синтаксиса на метода UNION.

Трябва да предоставим минимум 2 диапазона.

  • Арг 1: Това е първият набор от клетки, от който се нуждаем, за да създадем обединението.
  • Arg 2: Това е вторият диапазон от клетки, от който се нуждаем, за да създадем обединение.

Първите два параметъра са задължителни, след като се споменат два диапазона от клетки, след това всички останали аргументи стават незадължителни.

Когато данните са разпръснати на парчета в клетки, трябва да комбинираме целия диапазон от данни до един, за да изпълним обща задача. Можем да създадем обединение от разпръснат обхват към едно, за да изпълним подобна задача за всички диапазони на обединение.

За да изберем множество диапазони от клетки, обикновено можем да използваме обект RANGE. Например, ако искаме да изберем диапазона от клетки от A1 до B5 и от B3 до D5, можем да напишем кода на VBA, както по-долу.

Код:

Sub Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Изберете End Sub

Това би избрало диапазона от клетки като изображението по-долу.

Както виждаме на горното изображение, първият диапазон е избран от A1 до B5, а вторият диапазон е избран от B3 до D5.

Това е общата техника, която всички сме използвали по време на кодирането. Това обаче не е единственият метод, който имаме при кодирането във VBA; можем да използваме още един метод, наречен „съюз“, за да създадем обединение от два или повече диапазона.

Как да използвам метода на VBA Union за присъединяване към множество диапазони?

Пример # 1

Нека изпълним същото вземане, както направихме в горния пример, но този път с помощта на метода UNION.

Стъпка 1 - Отворете функцията UNION в подпроцедурата.

Код:

Sub Union_Example1 () Union (End Sub

Стъпка 2 - Споменете първия диапазон от клетки с помощта на RANGE обект. В този случай споменавам първия диапазон от клетки като А1 до В5 .

Код:

Sub Union_Example1 () Union (Range ("A1: A5"), End Sub

Стъпка 3 - Сега споменете втория диапазон от клетки, използващи RANGE обект, в този случай споменавам диапазона от клетки като B3 до D5 .

Код:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")) End Sub

Стъпка 4 - След създаването на обединението на този диапазон от клетки, трябва да решим какво трябва да направим с този набор от клетки. Поставете точка (.), За да видите списъка на IntelliSense.

Код:

Sub Union_Example1 () Union (диапазон ("A1: A5"), диапазон ("B3: B5")). Крайна под

Стъпка 5 - Можем да видим всички налични свойства и методи на тези диапазони.

За този пример ще променя вътрешния цвят на обединените клетки. За това първо трябва да избера свойството Интериор.

Код:

Sub Union_Example1 () Union (диапазон ("A1: A5"), диапазон ("B3: B5")). Вътрешен край Sub

Стъпка 6 - С интериорната собственост можем да правим много неща, но тъй като трябва да променим цвета на съединителните клетки, ще избера свойството Цвят.

Код:

Sub Union_Example1 () Union (диапазон ("A1: A5"), диапазон ("B3: B5")). Интериор. Цвят Край Sub

Стъпка 7 - Сега трябва да зададем свойството цвят. Ще използвам вградено свойство за цветен индекс като vbGreen.

Код:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color = vbGreen End Sub

Step 8 - Now if I run the code colours of the union cells will be changed to Green colour.

Like this using Union method, we can create unison of two or more range of cells.

Example #2 - Use Variables to Store Range of Cells

All most all the coders use variables to store the reference of the range of cells. For example, look at the below code.

Code:

Sub Union_Example2() Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2).Interior.Color = vbGreen End Sub

First, I have declared two variables as Range.

Dim Rng1 As Range

Dim Rng2 As Range

Then I have set the reference for these two variables.

Set Rng1 = Range(“A1:B5”)

Set Rng2 = Range(“B3:D5”)

Now variable rng1 holds the reference of Range(“A1:B5”) and the second variable rng2 holds the reference of Range(“B3:D5”).

Then I have applied UNION function to change the interior colour of these range of cells.

This also works exactly the same as the previous one, but using variable makes the code very flexible to use.

Error with Union Function

As I told all the references should be mandatory for the UNION method. For example, look at the below code.

Code:

Sub Union_Example3() Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Range("A1:B5") Set Rng2 = Range("B3:D5") Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen End Sub

This is similar to the previous, but here I have declared one more variable as Range.

Dim Rng3 As Range

But I have not set the reference to this variable. Rather I just supplied the variable to the UNION function.

Union(Rng1, Rng2, Rng3).Interior.Color = vbGreen

If I run this code, we will get the error like the below.

Това е така, защото каквато и да е променливата, която предоставяме на аргумента, трябва да съдържа някаква препратка към клетките в работния лист, по който работим.

Интересни статии...