VBA liit - Liituge mitme vahemikuga, kasutades Exceli VBA liitu

Lang L: none (table-of-contents)

Exceli VBA liit

Liit VBA-s on sarnane teiste programmeerimiskeelte liiduga, VBA-s kasutame liitu kahe või enama kui kahe vahemiku ühendamiseks, et teha neile erinevaid toimingute komplekte, selleks kasutatav lause on ise liit ja seda nimetatakse liidumeetodiks näiteks union (Range (B2: C7), Range (D2: E7)). valige ja see meetod valib lahtrid.

Union-meetod täidab kahe või enama vahemiku liidu loomise ülesande ja tagastab tulemuse RANGE-objektina. See töötab täpselt samamoodi nagu allpool toodud näide objektiga VBA RANGE.

Süntaks

Nüüd heitke pilk UNION-meetodi süntaksile.

Peame pakkuma vähemalt 2 vahemikku.

  • Arg 1: See on esimene rakkude vahemik, mille peame looma liidu loomiseks.
  • Arg 2: See on teine ​​rakkude vahemik, mille peame looma liidu loomiseks.

Esiteks on kaks parameetrit kohustuslikud, pärast kahe lahtrivahemiku mainimist, seejärel muutuvad kõik muud argumendid valikuliseks.

Kui andmed on lahtrites tükkideks hajutatud, peame ühise ülesande täitmiseks ühendama kõik andmevahemikud üheks. Saame luua hajutatud vahemiku liidu ühele, et täita sarnane ülesanne kõigi liidevahemike puhul.

Mitme lahtrivahemiku valimiseks saame tavaliselt kasutada objekti RANGE. Näiteks kui soovime valida lahtrivahemiku A1 kuni B5 ja B3 kuni D5, võime kirjutada VBA koodi nagu allpool.

Kood:

Alamliit_näide1 () Liit (vahemik ("A1: B5"), vahemik ("B3: D5")). Valige Lõpeta alam

See valiks lahtrivahemiku nagu allpool olev pilt.

Nagu ülaltoodud pildil näeme, valitakse esimene vahemik A1 kuni B5 ja teine ​​vahemik B3 kuni D5.

See on levinud tehnika, mida me kõik kodeerimisel kasutasime. See pole aga ainus meetod, mida meil VBA-s kodeerida on; Samuti võime kahe või enama vahemiku liidu loomiseks kasutada veel ühte meetodit, mida nimetatakse liitiks.

Kuidas kasutada VBA Unioni meetodit mitme vahemikuga liitumiseks?

Näide 1

Teeme sama võtte, nagu tegime ülaltoodud näites, kuid seekord, kasutades UNION-meetodit.

1. samm - avage alamprotseduuris funktsioon UNION.

Kood:

Alamliit_näide1 () Liit (lõpp-alam

2. samm - mainige esimene lahtrivahemik objekti RANGE abil. Sel juhul mainin esimest lahtrivahemikku A1 kuni B5 .

Kood:

Alamliit_näide1 () Liit (vahemik ("A1: A5"), lõpualam

3. samm - mainige nüüd teist lahtrivahemikku, kasutades objekti RANGE. Sel juhul mainin lahtrivahemikku B3 kuni D5 .

Kood:

Alamliit_näide1 () Liit (vahemik ("A1: A5"), vahemik ("B3: B5")) Lõpp alam

4. samm - pärast nende rakkude vahemiku liidu loomist peame otsustama, mida me peame selle rakkude vahemikuga tegema. IntelliSense'i loendi kuvamiseks pange punkt (.) .

Kood:

Alamliit_näide1 () Liit (vahemik ("A1: A5"), vahemik ("B3: B5")). Lõpeta alam

5. samm - näeme nende vahemike kõiki saadaolevaid omadusi ja meetodeid.

Selle näite jaoks muudan liitumisrakkude sisevärvi. Selle jaoks on mul kõigepealt vaja valida sisustus.

Kood:

Alamliit_näide1 () Liit (vahemik ("A1: A5"), vahemik ("B3: B5")). Interjööri lõpp alam

6. samm - sisemiste omadustega saame teha paljusid asju, kuid kuna me peame muutma liitrakkude värvi, valin omaduse Värv.

Kood:

Alamliit_näide1 () Liit (Vahemik ("A1: A5"), Vahemik ("B3: B5")). Interjöör.Värvi lõpp Alam

7. samm - nüüd peame määrama värvi omaduse. VbGreenina kasutan sisseehitatud värviindeksi omadust.

Kood:

Sub Union_Nample1 () 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.

Seda seetõttu, et ükskõik milline muutuja, mille me argumendile edastame, peaks sisaldama mõningaid viiteid töölehe lehel olevatele lahtritele.

Huvitavad Artiklid...