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

Satura rādītājs

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, minot divus šūnu diapazonus, pēc tam 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?

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šnodaļa

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 interjera ī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

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.

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.

Interesanti raksti...