ВБА Унион | Придружите се више опсега користећи Екцел ВБА Унион

Екцел ВБА Унион

Унија у ВБА сличан је унији у другим програмским језицима, у ВБА користимо унију да комбинујемо два или више од два опсега да бисмо извршили различите скупове операција на њима, изјава која се користи за то је сама по себи унија и назива се као метода уније, на пример , унија (опсег (Б2: Ц7), опсег (Д2: Е7)). одаберите и овај метод ће одабрати ћелије.

Метода уније извршава задатак стварања обједињавања два или више опсега и враћа резултат као РАНГЕ објект. Ово ради потпуно исто као пример у наставку са објектом ВБА РАНГЕ.

Синтакса

Сада погледајте синтаксу методе УНИОН.

Морамо да испоручимо најмање 2 домета.

  • Арг. 1: Ово је први опсег ћелија које треба да створимо унију.
  • Арг 2: Ово је други опсег ћелија од којих треба да створимо унију.

Прва два параметра су обавезна, након помињања два опсега ћелија онда сви остали аргументи постају опционални.

Када су подаци раштркани на комаде у ћелијама, треба да комбинујемо све опсеге података у један да бисмо извршили заједнички задатак. Можемо створити унију расејаног опсега до једне да бисмо извршили сличан задатак за све домете уније.

За одабир више опсега ћелија обично можемо користити РАНГЕ објект. На пример, ако желимо да изаберемо опсег ћелија од А1 до Б5 и од Б3 до Д5, можемо да напишемо ВБА код као у наставку.

Шифра:

 Суб Унион_Екампле1 () Унион (опсег ("А1: Б5"), опсег ("Б3: Д5")). Изаберите Енд Суб 

Ово би изабрало опсег ћелија попут доње слике.

Као што видимо на горњој слици, први опсег је изабран од А1 до Б5, а други опсег је одабран од Б3 до Д5.

Ово је уобичајена техника коју смо сви користили током кодирања. Међутим, ово није једина метода коју имамо у кодирању у ВБА, такође можемо користити још једну методу која се назива „унија“ да бисмо створили унију од два или више опсега.

Како се користи метода ВБА Унион за придруживање више опсега?

Овај ВБА Унион Екцел предложак можете преузети овде - ВБА Унион Екцел Предложак

Пример # 1

Изведимо исти потез као и у горњем примеру, али овог пута методом УНИОН.

Корак 1 - Отворите функцију УНИОН у потпоступку.

Шифра:

 Суб Унион_Екампле1 () Унион (Крај Суб 

Корак 2 - Спомените први опсег ћелија помоћу објекта РАНГЕ. У овом случају спомињем први опсег ћелија као А1 до Б5.

Шифра:

 Суб Унион_Екампле1 () Унион (Опсег ("А1: А5"), Крај Суб 

Корак 3 - Сада спомените други опсег ћелија који користи РАНГЕ објекат, у овом случају, спомињем опсег ћелија као Б3 до Д5.

Шифра:

 Суб Унион_Екампле1 () Унион (Ранге ("А1: А5"), Ранге ("Б3: Б5")) Крај Суб 

Корак 4 - Након стварања сједињења овог опсега ћелија морамо да одлучимо шта треба да радимо са овим обимом ћелија. Ставити тачка (.) да бисте видели листу ИнтеллиСенсе.

Шифра:

 Суб Унион_Екампле1 () Унион (опсег ("А1: А5"), опсег ("Б3: Б5")). Енд Суб 

Корак 5 - Можемо видети сва расположива својства и методе ових опсега.

У овом примеру променићу унутрашњу боју спојних ћелија. За ово прво морам да изаберем својство Ентеријер.

Шифра:

 Суб Унион_Екампле1 () Унион (Опсег ("А1: А5"), Опсег ("Б3: Б5")). Унутрашњи крај Суб 

Корак 6 - Са унутрашњим својством можемо учинити много ствари, али пошто морамо да променимо боју спојних ћелија, изабраћу својство Цолор.

Шифра:

 Суб Унион_Екампле1 () Унион (Опсег ("А1: А5"), Опсег ("Б3: Б5")). Ентеријер.Боја Крај Суб 

Корак 7 - Сада треба да подесимо својство боје. Користићу уграђено својство индекса боја као вбГреен.

Шифра:

 Суб Унион_Екампле1 () Унион (опсег ("А1: А5"), опсег ("Б3: Б5")). Интериор.Цолор = вбГреен Енд Суб 

Корак 8 - Сада, ако покренем код боја, унија ћелија ће бити промењена у зелену боју.

Као и овај методом Унион, можемо створити јединство два или више опсега ћелија.

Пример # 2 - Користите променљиве за складиштење опсега ћелија

Сви већини кодери користе променљиве за чување референце опсега ћелија. За пример погледајте доњи код.

Шифра:

 Суб Унион_Екампле2 () Дим Рнг1 Ас Ранге Дим Рнг2 Ас Ранге Сет Рнг1 = Ранге ("А1: Б5") Сет Рнг2 = Ранге ("Б3: Д5") Унион (Рнг1, Рнг2) .Интериор.Цолор = вбГреен Енд Суб 

Прво сам прогласио две променљиве као опсег.

Дим Рнг1 Ас Ранге

Дим Рнг2 Ас Ранге

Тада сам поставио референцу за ове две променљиве.

Поставите Рнг1 = опсег („А1: Б5“)

Поставите Рнг2 = опсег („Б3: Д5“)

Сада променљива рнг1 садржи референцу опсега („А1: Б5“), а друга променљива рнг2 садржи референцу опсега („Б3: Д5“).

Тада сам применио функцију УНИОН за промену унутрашње боје ових опсега ћелија.

Ово такође ради потпуно исто као и претходна, али употреба променљиве чини код врло флексибилним за употребу.

Грешка у функцији Унион

Као што сам рекао, све референце треба да буду обавезне за УНИОН метод. За пример погледајте доњи код.

Шифра:

 Суб Унион_Екампле3 () Дим Рнг1 Ас Ранге Дим Рнг2 Ас Ранге Дим Рнг3 Ас Ранге Сет Рнг1 = Ранге ("А1: Б5") Сет Рнг2 = Ранге ("Б3: Д5") Унион (Рнг1, Рнг2, Рнг3) .Интериор.Цолор = вбГреен Енд Суб 

Ово је слично претходном, али овде сам прогласио још једну променљиву као Ранге.

Дим Рнг3 Ас Ранге

Али нисам поставио референцу на ову променљиву, већ сам је само доставио функцији УНИОН.

Унион (Рнг1, Рнг2, Рнг3) .Интериор.Цолор = вбГреен

Ако покренем овај код, добићемо грешку као доле.

То је зато што би било која променљива коју достављамо аргументу требало да садржи неку референцу ћелија у радном листу на којем радимо.