VBA-unioni - Liity useisiin alueisiin Excel VBA Unionin avulla

Sisällysluettelo

Excel VBA -liitto

Unioni VBA: ssa on samanlainen kuin muiden ohjelmointikielien unioni, VBA: ssa käytämme unionia yhdistämään kaksi tai useampaa kuin kahta aluetta erilaisten operaatioiden suorittamiseksi, tähän käytetty lause on itse unioni ja sitä kutsutaan unionimenetelmäksi esimerkiksi unioni (Alue (B2: C7), Alue (D2: E7)). Valitse ja tämä menetelmä valitsee solut.

Union-menetelmä suorittaa kahden tai useamman alueen yhdistämisen luomisen ja palauttaa tuloksen RANGE-objektina. Tämä toimii täsmälleen samalla tavalla kuin alla oleva esimerkki VBA RANGE -objektin kanssa.

Syntaksi

Katsotaan nyt UNION-menetelmän syntaksia.

Meidän on toimitettava vähintään 2 aluetta.

  • Arg 1: Tämä on ensimmäinen solualue, jonka meidän on luotava liitos.
  • Arg 2: Tämä on toinen solualue, jonka meidän on luotava liitos.

Ensimmäiset kaksi parametria ovat pakollisia mainitsemalla kaksi solualueet, sitten kaikista muista argumenteista tulee valinnaisia.

Kun data hajautetaan palasiksi soluihin, meidän on yhdistettävä kaikki tietoalue yhdeksi yhteisen tehtävän suorittamiseksi. Voimme luoda hajallaan olevan alueen yhdisteen samanlaisen tehtävän suorittamiseksi kaikille liitosalueille.

Useiden solualueiden valitsemiseksi voimme yleensä käyttää RANGE-objektia. Esimerkiksi, jos haluamme valita solualueen A1 - B5 ja B3 - D5, voimme kirjoittaa VBA-koodin kuten alla.

Koodi:

Sub Union_Example1 () Union (Range ("A1: B5"), Range ("B3: D5")). Valitse End Sub

Tämä valitsisi solualueen, kuten alla oleva kuva.

Kuten yllä olevasta kuvasta voidaan nähdä, ensimmäinen alue valitaan välillä A1 - B5 ja toinen alue valitaan välillä B3 - D5.

Tämä on yleinen tekniikka, jota olemme kaikki käyttäneet koodauksen aikana. Tämä ei kuitenkaan ole ainoa menetelmä, jolla meillä on koodaus VBA: ssa; voimme myös käyttää vielä yhtä menetelmää, jota kutsutaan "unioniksi", kahden tai useamman alueen muodostamiseksi.

Kuinka käyttää VBA Union -menetelmää liittyäksesi useaan alueeseen?

Esimerkki 1

Suoritetaan sama otos kuin edellisessä esimerkissä, mutta tällä kertaa käyttämällä UNION-menetelmää.

Vaihe 1 - Avaa UNION-toiminto alimenettelyssä.

Koodi:

Sub Union_Example1 () Union (End Sub

Vaihe 2 - Mainitse ensimmäinen solualue RANGE-objektilla. Tässä tapauksessa mainitsen ensimmäisen solualueen A1 - B5 .

Koodi:

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

Vaihe 3 - Mainitse nyt toinen solualue RANGE-objektilla, tässä tapauksessa mainitsen solualueen B3 - D5 .

Koodi:

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

Vaihe 4 - Kun olemme luoneet näiden solualueiden yhdistyksen, meidän on päätettävä, mitä meidän on tehtävä tällä solualueella. Laita piste (.) Nähdäksesi IntelliSense-luettelon.

Koodi:

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

Vaihe 5 - Näemme kaikki näiden alueiden käytettävissä olevat ominaisuudet ja menetelmät.

Tässä esimerkissä muutan liitosolujen Interior-väriä. Tätä varten minun on ensin valittava Sisustus-ominaisuus.

Koodi:

Sub Union_Example1 () Union (Range ("A1: A5"), Range ("B3: B5")). Sisäpuoli Sub

Vaihe 6 - Sisustusominaisuuksilla voimme tehdä monia asioita, mutta koska meidän on vaihdettava liitosolujen väriä, valitsen Väri-ominaisuuden.

Koodi:

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

Vaihe 7 - Nyt meidän on asetettava väriominaisuus. Käytän sisäänrakennettua väriindeksiominaisuutta vbGreen-tiedostona.

Koodi:

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.

Tämä johtuu siitä, että riippumatta muuttujasta, jonka toimitamme argumentille, tulisi olla jonkinlainen viittaus työtaulukon soluihin.

Mielenkiintoisia artikkeleita...