VBA Union - Deltag i flere områder ved hjælp af Excel VBA Union

Indholdsfortegnelse

Excel VBA Union

Union i VBA svarer til unionen i andre programmeringssprog, i VBA bruger vi union til at kombinere to eller flere end to områder for at udføre forskellige sæt operationer på dem, den erklæring, der bruges til dette, er i sig selv union og det kaldes som union-metode f.eks. union (Range (B2: C7), Range (D2: E7)). vælg, og denne metode vælger cellerne.

Union-metode udfører opgaven med at oprette en union af to eller flere områder og returnerer resultatet som et RANGE-objekt. Dette fungerer nøjagtigt det samme som nedenstående eksempel med VBA RANGE-objekt.

Syntaks

Se nu på syntaksen for UNION-metoden.

Vi skal levere mindst 2 intervaller.

  • Arg 1: Dette er det første celleområde, vi har brug for for at skabe foreningen af.
  • Arg 2: Dette er det andet celleområde, vi har brug for for at skabe en forening af.

De første to parametre er obligatoriske, efter at have nævnt to celleområder, så bliver alle de andre argumenter valgfri.

Når dataene er spredt i stykker i celler, er vi nødt til at kombinere hele dataområdet til en for at udføre en fælles opgave. Vi kan oprette en forening af spredt område til en for at udføre en lignende opgave for alle foreningsområder.

For at vælge flere celleområder kan vi normalt bruge RANGE-objekt. For eksempel, hvis vi vil vælge celleområdet fra A1 til B5 og fra B3 til D5, kan vi skrive VBA-koden som nedenfor.

Kode:

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

Dette vælger rækkevidden af ​​celler som nedenstående billede.

Som vi kan se i ovenstående billede er det første interval valgt fra A1 til B5, og det andet interval er valgt fra B3 til D5.

Dette er den almindelige teknik, som vi alle har brugt under kodning. Dette er dog ikke den eneste metode, vi har til kodning i VBA; Vi kan også bruge endnu en metode kaldet "union" til at skabe en union med to eller flere intervaller.

Hvordan bruges VBA Union-metoden til at slutte sig til flere rækkevidde?

Eksempel nr. 1

Lad os udføre det samme tag som vi gjorde i ovenstående eksempel, men denne gang ved hjælp af UNION-metoden.

Trin 1 - Åbn UNION-funktionen i underproceduren.

Kode:

Sub Union_Example1 () Union (End Sub

Trin 2 - Nævn det første celleområde ved hjælp af RANGE-objekt. I dette tilfælde nævner jeg det første celleområde som A1 til B5 .

Kode:

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

Trin 3 - Nævn det andet celleområde ved hjælp af RANGE-objekt, i dette tilfælde nævner jeg rækkevidden af ​​celler som B3 til D5 .

Kode:

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

Trin 4 - Efter at have oprettet foreningen af ​​disse celler, skal vi beslutte, hvad vi skal gøre med dette foreningsområde af celler. Sæt punkt (.) For at se IntelliSense-listen.

Kode:

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

Trin 5 - Vi kan se alle de tilgængelige egenskaber og metoder i disse intervaller.

I dette eksempel vil jeg ændre interiørfarven på unionceller. Til dette først skal jeg vælge ejendommen Interior.

Kode:

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

Trin 6 - Med indvendige egenskaber kan vi gøre mange ting, men da vi har brug for at ændre farven på unioncellerne, vælger jeg Farveegenskab.

Kode:

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

Trin 7 - Nu skal vi indstille farveegenskaben. Jeg bruger en indbygget farveindeksegenskab som vbGreen.

Kode:

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.

Dette skyldes, at uanset hvilken variabel, vi leverer til argumentet, skal indeholde en vis reference for cellerne i det regneark, vi arbejder på.

Interessante artikler...