VBA liit | Liituge mitme vahemikuga, kasutades Exceli VBA liitu

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.

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

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

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. Kuid see pole ainus meetod, mida meil VBA-s kodeerimisel on, kahe või enama vahemiku liidu loomiseks võime kasutada ka veel ühte meetodit nimega “liit”.

Kuidas kasutada VBA Unioni meetodit mitme vahemikuga liitumiseks?

Selle VBA Union Exceli malli saate alla laadida siit - VBA Union Exceli mall

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 vara 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 

8. samm - nüüd, kui käivitan, muudetakse liidu lahtrite koodivärvid roheliseks.

Nii saame liidu meetodil luua kahe või enama lahtrivahemiku ühtsuse.

Näide # 2 - muutujate kasutamine rakkude vahemiku salvestamiseks

Kõik kooderid kasutavad muutujaid lahtrivahemiku viite salvestamiseks. Näite saamiseks vaadake allolevat koodi.

Kood:

 Alamliidu_näide2 () Hämarda Rng1 vahemikuna Dimensioon Rng2 vahemikuna Rng1 = Vahemik ("A1: B5") Määra Rng2 = Vahemik ("B3: D5") Liit (Rng1, Rng2) .Interior.Color = vbGreen End Sub 

Esiteks olen deklareerinud vahemikku kaks muutujat.

Hämar Rng1 vahemikuna

Hämar Rng2 vahemikuna

Siis olen määranud neile kahele muutujale viite.

Määra Rng1 = Vahemik (“A1: B5”)

Määra Rng2 = Vahemik ("B3: D5")

Nüüd hoiab muutuja rng1 vahemiku („A1: B5”) ja teine ​​muutuja rng2 vahemiku („B3: D5”) viidet.

Siis olen nende lahtrivahemike sisevärvi muutmiseks rakendanud funktsiooni UNION.

See töötab ka täpselt sama mis eelmine, kuid muutuja kasutamine muudab koodi kasutamiseks väga paindlikuks.

Viga liidu funktsioonis

Nagu ma ütlesin, peaksid kõik viited olema UNIONi meetodi jaoks kohustuslikud. Näite saamiseks vaadake allolevat koodi.

Kood:

 Alamliidu_näide3 () 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) .Sisemine.värv = vbRoheline lõpu alam 

See sarnaneb eelmisega, kuid siin olen deklareerinud veel ühe muutuja vahemikuks.

Hämar Rng3 vahemikuna

Kuid ma ei ole sellele muutujale viidet määranud, vaid lihtsalt sisestasin muutuja funktsiooni UNION.

Liit (Rng1, Rng2, Rng3). Sisemus.Värv = vbGreen

Kui ma selle koodi käivitan, saame vea nagu allpool.

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


$config[zx-auto] not found$config[zx-overlay] not found