VBA savienība | Pievienojieties vairākiem diapazoniem, izmantojot programmu Excel VBA Union

Excel VBA savienība

Savienība VBA ir līdzīga savienojumam citās programmēšanas valodās, VBA mēs izmantojam savienojumu, lai apvienotu divus vai vairāk nekā divus diapazonus, lai veiktu dažādus darbību kopumus, šim nolūkam izmantotais apgalvojums pats par sevi ir savienība, un to sauc par savienības metodi , piemēram, savienojums (Diapazons (B2: C7), Diapazons (D2: E7)). Atlasiet un šī metode atlasīs šūnas.

Union metode veic uzdevumu izveidot divu vai vairāku diapazonu savienojumu un atgriež rezultātu kā RANGE objektu. Tas darbojas tieši tāpat kā zemāk redzamais piemērs ar objektu VBA RANGE.

Sintakse

Tagad ieskatieties UNION metodes sintaksē.

Mums jānodrošina vismaz 2 diapazoni.

  • Arg 1: Šis ir pirmais šūnu diapazons, kas mums ir nepieciešams, lai izveidotu savienojumu.
  • Arg 2: Šis ir otrais šūnu diapazons, kas mums ir nepieciešams, lai izveidotu savienojumu.

Pirmie divi parametri ir obligāti, pēc divu šūnu diapazona pieminēšanas visi pārējie argumenti kļūst neobligāti.

Kad dati tiek izkaisīti pa daļām šūnās, mums ir jāapvieno visi datu diapazoni vienā, lai veiktu kopīgu uzdevumu. Mēs varam izveidot izkaisītā diapazona savienību līdz vienai, lai veiktu līdzīgu uzdevumu visiem savienojumu diapazoniem.

Lai atlasītu vairākus šūnu diapazonus, mēs parasti varam izmantot objektu RANGE. Piemēram, ja mēs vēlamies atlasīt šūnu diapazonu no A1 līdz B5 un no B3 līdz D5, mēs varam uzrakstīt VBA kodu tāpat kā zemāk.

Kods:

 Sub Union_Piemērs1 () Union (Range ("A1: B5"), Range ("B3: D5")). Atlasiet End Sub 

Tas atlasītu šūnu diapazonu, piemēram, zemāk redzamo attēlu.

Kā redzams iepriekš redzamajā attēlā, pirmais diapazons tiek izvēlēts no A1 līdz B5, bet otrais - no B3 līdz D5.

Šī ir izplatītā tehnika, kuru mēs visi esam izmantojuši kodēšanas laikā. Tomēr šī nav vienīgā metode, kas mums ir kodēšana VBA, mēs varam izmantot arī vēl vienu metodi, ko sauc par “savienību”, lai izveidotu divu vai vairāku diapazonu savienību.

Kā izmantot VBA Union metodi, lai pievienotos vairākiem diapazoniem?

Šo VBA Union Excel veidni varat lejupielādēt šeit - VBA Union Excel veidne

1. piemērs

Veiksim to pašu, ko mēs darījām iepriekš minētajā piemērā, bet šoreiz, izmantojot UNION metodi.

1. solis - atveriet funkciju UNION apakšprocedūrā.

Kods:

 Sub Union_Piemērs1 () Union (End Sub 

2. solis - pieminiet pirmo šūnu diapazonu, izmantojot objektu RANGE. Šajā gadījumā es pieminu pirmo šūnu diapazonu kā A1 līdz B5 .

Kods:

 Sub Union_Piemērs1 () Union (Range ("A1: A5"), End Sub 

3. solis - tagad miniet otro šūnu diapazonu, izmantojot objektu RANGE, šajā gadījumā es pieminu šūnu diapazonu kā B3 līdz D5 .

Kods:

 Sub Union_Piemērs1 () Union (Range ("A1: A5"), Range ("B3: B5")) End Sub 

4. solis - Pēc šo šūnu diapazona savienojuma izveides mums jāizlemj, kas mums jādara ar šo savienojumu šūnu diapazonu. Ievietojiet punktu (.), Lai redzētu IntelliSense sarakstu.

Kods:

Sub Union_Piemērs1 () Union (diapazons ("A1: A5"), diapazons ("B3: B5")). Beigu apakš

5. solis - mēs varam redzēt visas pieejamās šo diapazonu īpašības un metodes.

Šajā piemērā es mainīšu savienojuma šūnu interjera krāsu. Šim nolūkam man vispirms jāizvēlas īpašums Interjers.

Kods:

 Sub Union_Piemērs1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interjera beigas Sub 

6. solis - izmantojot iekšējo īpašumu, mēs varam darīt daudzas lietas, taču, tā kā mums jāmaina savienojuma šūnu krāsa, es izvēlēšos krāsu īpašību.

Kods:

 Sub Union_Piemērs1 () Union (diapazons ("A1: A5"), diapazons ("B3: B5")). Interjers. Krāsu beigu apakšdaļa 

7. solis - Tagad mums jāiestata krāsu īpašība. Es izmantošu iebūvētu krāsu indeksa rekvizītu kā vbGreen.

Kods:

 Sub Union_Piemērs1 () Union (Range ("A1: A5"), Range ("B3: B5")). Interior.Color = vbGreen End Sub 

8. solis - tagad, ja es palaidīšu, savienojuma šūnu koda krāsas tiks mainītas uz zaļu.

Šādi izmantojot Savienības metodi, mēs varam izveidot divu vai vairāku šūnu diapazona vienotību.

2. piemērs - izmantojiet mainīgos, lai saglabātu šūnu diapazonu

Lielākoties visi kodētāji izmanto mainīgos, lai saglabātu šūnu diapazona atsauci. Piemēram, skatiet zemāk esošo kodu.

Kods:

 Sub Union_Example2 () Dim Rng1 As Range Dim Rng2 As Range Set Rng1 = Diapazons ("A1: B5") Iestatiet Rng2 = Diapazons ("B3: D5") Savienība (Rng1, Rng2) .Interior.Color = vbGreen End Sub 

Vispirms es esmu paziņojis divus mainīgos kā diapazonu.

Dim Rng1 kā diapazons

Dim Rng2 kā diapazons

Tad es esmu iestatījis atsauci šiem diviem mainīgajiem.

Iestatīt Rng1 = Diapazons (“A1: B5”)

Iestatīt Rng2 = Diapazons (“B3: D5”)

Tagad mainīgajam rng1 pieder diapazona atsauce (“A1: B5”), bet otrajam mainīgajam rng2 ir diapazona atsauce (“B3: D5”).

Tad es esmu izmantojis UNION funkciju, lai mainītu šo šūnu diapazona iekšējo krāsu.

Tas arī darbojas tieši tāpat kā iepriekšējais, taču mainīgā izmantošana padara kodu ļoti elastīgu lietošanai.

Kļūda savienojuma funkcijā

Kā es teicu, visām atsaucēm jābūt obligātām attiecībā uz UNION metodi. Piemēram, skatiet zemāk esošo kodu.

Kods:

 Sub Union_Example3 () Dim Rng1 As Range Dim Rng2 As Range Dim Rng3 As Range Set Rng1 = Diapazons ("A1: B5") Iestatiet Rng2 = Diapazons ("B3: D5") Savienība (Rng1, Rng2, Rng3) .Iekšpuse.Krāsa = vbGreen End Sub 

Tas ir līdzīgs iepriekšējam, bet šeit es esmu paziņojis vēl vienu mainīgo kā Range.

Dim Rng3 kā diapazons

Bet es neesmu iestatījis atsauci uz šo mainīgo, bet es vienkārši piegādāju mainīgo funkcijai UNION.

Savienība (Rng1, Rng2, Rng3). Iekšpuse. Krāsa = vbGreen

Ja es palaidīšu šo kodu, mēs saņemsim tādu kļūdu kā tālāk.

Tas ir tāpēc, ka neatkarīgi no mainīgā lieluma, kuru mēs piegādājam argumentam, vajadzētu būt kādai atsaucei uz darblapas šūnām, pie kuras mēs strādājam.


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