VBA unie | Připojte se k více rozsahům pomocí unie Excel VBA

Excel VBA Union

Sjednocení ve VBA je podobné sjednocení v jiných programovacích jazycích, ve VBA používáme sjednocení ke kombinování dvou nebo více než dvou rozsahů, abychom na nich mohli provádět různé sady operací, příkaz použitý pro toto je sám sjednocení a nazývá se jako metoda sjednocení , například union (Range (B2: C7), Range (D2: E7)). select a tato metoda vybere buňky.

Metoda sjednocení provede úkol vytvoření spojení dvou nebo více rozsahů a vrátí výsledek jako objekt RANGE. To funguje přesně stejně jako v níže uvedeném příkladu s objektem VBA RANGE.

Syntax

Nyní se podívejme na syntaxi metody UNION.

Musíme dodat minimálně 2 rozsahy.

  • Arg 1: Toto je první řada buněk, kterou musíme vytvořit.
  • Arg 2: Toto je druhá řada buněk, kterou musíme vytvořit.

První dva parametry jsou povinné, po uvedení dvou oblastí buněk se všechny ostatní argumenty stanou nepovinnými.

Když jsou data rozptýlena po částech v buňkách, musíme spojit dohromady celý rozsah dat do jednoho, abychom mohli provést společný úkol. Můžeme vytvořit sjednocení rozptýleného rozsahu k jednomu a provést podobný úkol pro všechny sjednocující rozsahy.

K výběru více rozsahů buněk můžeme obvykle použít RANGE objekt. Například pokud chceme vybrat rozsah buněk od A1 do B5 a od B3 do D5, můžeme napsat kód VBA jako níže.

Kód:

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

Tím by se vybral rozsah buněk, jako je obrázek níže.

Jak vidíme na obrázku výše, první rozsah je vybrán od A1 do B5 a druhý rozsah je vybrán od B3 do D5.

Toto je běžná technika, kterou jsme všichni používali při kódování. To však není jediná metoda, kterou máme při kódování ve VBA, můžeme také použít jednu další metodu nazvanou „union“ k vytvoření spojení dvou nebo více rozsahů.

Jak používat metodu VBA Union k připojení více rozsahů?

Tuto šablonu VBA Union Excel si můžete stáhnout zde - Šablona VBA Union Excel

Příklad č. 1

Pojďme provést stejný zátah jako v předchozím příkladu, ale tentokrát pomocí metody UNION.

Krok 1 - Otevřete v podprocesu funkci UNION.

Kód:

 Sub Union_Example1 () Union (End Sub 

Krok 2 - Uveďte první rozsah buněk pomocí objektu RANGE. V tomto případě zmiňuji první řadu buněk jako A1 až B5 .

Kód:

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

Krok 3 - Nyní uveďte druhý rozsah buněk pomocí objektu RANGE, v tomto případě zmiňuji rozsah buněk jako B3 až D5 .

Kód:

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

Krok 4 - Po vytvoření spojení těchto oblastí buněk se musíme rozhodnout, co musíme udělat s touto oblastí spojení buněk. Vložením tečky (.) Zobrazíte seznam IntelliSense.

Kód:

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

Krok 5 - Můžeme vidět všechny dostupné vlastnosti a metody těchto rozsahů.

V tomto příkladu změním barvu interiéru spojovacích buněk. K tomu nejprve musím vybrat vlastnost Interiér.

Kód:

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

Krok 6 - S vlastnostmi interiéru můžeme dělat mnoho věcí, ale protože musíme změnit barvu sjednocovacích buněk, vyberu vlastnost Barva.

Kód:

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

Krok 7 - Nyní musíme nastavit vlastnost color. Budu používat vestavěnou vlastnost indexu barev jako vbGreen.

Kód:

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

Krok 8 - Nyní, když spustím, barvy kódu sjednocujících buněk se změní na zelenou barvu.

Stejně jako pomocí metody Union můžeme vytvořit unisono dvou nebo více rozsahů buněk.

Příklad č. 2 - Použijte proměnné k uložení rozsahu buněk

Většina kodérů používá proměnné k ukládání odkazu na rozsah buněk. Například se podívejte na níže uvedený kód.

Kód:

 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 

Nejprve jsem deklaroval dvě proměnné jako Range.

Dim Rng1 jako rozsah

Dim Rng2 jako rozsah

Pak jsem nastavil odkaz na tyto dvě proměnné.

Nastavit Rng1 = rozsah („A1: B5“)

Nastavit Rng2 = rozsah („B3: D5“)

Nyní proměnná rng1 obsahuje referenci rozsahu („A1: B5“) a druhá proměnná rng2 obsahuje referenci rozsahu („B3: D5“).

Poté jsem použil funkci UNION ke změně barvy interiéru této řady buněk.

To také funguje přesně stejně jako předchozí, ale použití proměnné umožňuje použití kódu velmi flexibilně.

Chyba s funkcí unie

Jak jsem řekl, všechny odkazy by měly být pro metodu UNION povinné. Například se podívejte na níže uvedený kód.

Kód:

 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 

To je podobné jako u předchozího, ale zde jsem deklaroval jednu další proměnnou jako Range.

Dim Rng3 As Range

Ale nenastavil jsem odkaz na tuto proměnnou, spíše jsem právě dodal proměnnou funkci UNION.

Unie (Rng1, Rng2, Rng3). Interior.Color = vbGreen

Pokud spustím tento kód, dostaneme chybu jako níže.

Je to proto, že jakákoli proměnná, kterou argumentu dodáváme, by měla obsahovat nějaký odkaz na buňky v listu, na kterém pracujeme.


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