VBA Union - Gå med i flera områden med hjälp av Excel VBA Union

Innehållsförteckning

Excel VBA Union

Union i VBA liknar unionen i andra programmeringsspråk, i VBA använder vi union för att kombinera två eller fler än två intervall för att utföra olika uppsättningar av operationer på dem, uttalandet som används för detta är i sig union och det kallas som unionsmetod , till exempel union (Range (B2: C7), Range (D2: E7)). välj och den här metoden markerar cellerna.

Union-metoden utför uppgiften att skapa en union med två eller flera intervall och returnerar resultatet som ett RANGE-objekt. Detta fungerar exakt på samma sätt som nedanstående exempel med VBA RANGE-objekt.

Syntax

Ta nu en titt på syntaxen för UNION-metoden.

Vi måste tillhandahålla minst två intervall.

  • Arg 1: Detta är det första cellområdet vi behöver för att skapa unionen av.
  • Arg 2: Detta är det andra cellområdet vi behöver för att skapa en sammanslutning av.

De första två parametrarna är obligatoriska, efter att ha nämnt två cellområden blir alla andra argument valfria.

När data sprids i bitar i celler måste vi kombinera hela dataområdet till ett för att utföra en gemensam uppgift. Vi kan skapa en sammansättning av spridd räckvidd till en för att utföra en liknande uppgift för alla fackområden.

För att välja flera cellområden kan vi vanligtvis använda RANGE-objekt. Om vi ​​till exempel vill välja cellintervallet från A1 till B5 och från B3 till D5 kan vi skriva VBA-koden som nedan.

Koda:

Sub Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Välj End Sub

Detta skulle välja cellområdet som bilden nedan.

Som vi kan se i bilden ovan väljs det första området från A1 till B5, och det andra området väljs från B3 till D5.

Detta är den vanliga tekniken som vi alla har använt vid kodning. Detta är dock inte den enda metoden vi har för kodning i VBA; vi kan också använda ytterligare en metod som kallas ”union” för att skapa en union med två eller flera intervall.

Hur använder jag VBA Union-metoden för att gå med i flera intervall?

Exempel 1

Låt oss utföra samma tag som vi gjorde i exemplet ovan men den här gången med UNION-metoden.

Steg 1 - Öppna UNION-funktionen i delproceduren.

Koda:

Sub Union_Example1 () Union (End Sub

Steg 2 - Nämn det första cellområdet med RANGE-objekt. I det här fallet nämner jag det första cellområdet som A1 till B5 .

Koda:

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

Steg 3 - Nämn nu det andra cellområdet med RANGE-objekt, i det här fallet nämner jag cellområdet som B3 till D5 .

Koda:

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

Steg 4 - Efter att ha skapat föreningen av dessa celler, måste vi bestämma vad vi behöver göra med detta förening av celler. Sätt punkt (.) För att se IntelliSense-listan.

Koda:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Avsluta sub

Steg 5 - Vi kan se alla tillgängliga egenskaper och metoder för dessa intervall.

För detta exempel kommer jag att ändra interiörfärgen på unionsceller. För detta måste jag först välja egenskapen Interiör.

Koda:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interiör End Sub

Steg 6 - Med interiöregenskaper kan vi göra många saker, men eftersom vi behöver ändra färgen på unionscellerna väljer jag färgegenskap.

Koda:

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

Steg 7 - Nu måste vi ställa in färgegenskapen. Jag kommer att använda en inbyggd färgindexegenskap som vbGreen.

Koda:

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.

Detta beror på att oavsett vilken variabel vi tillhandahåller till argumentet borde innehålla en viss referens för cellerna i kalkylbladet vi arbetar med.

Intressanta artiklar...