VBA Union | Sumali sa Maramihang Mga Saklaw gamit ang Excel VBA Union

Excel VBA Union

Union sa VBA ay katulad ng unyon sa ibang mga wika ng programa, sa VBA ginagamit namin ang unyon upang pagsamahin ang dalawa o higit pa sa dalawang saklaw upang maisagawa ang iba't ibang mga hanay ng mga operasyon sa kanila, ang pahayag na ginamit para dito ay mismong unyon at tinawag itong unyon na pamamaraan, halimbawa , unyon (Saklaw (B2: C7), Saklaw (D2: E7)) .pili at pipiliin ng pamamaraang ito ang mga cell.

Ginagawa ng pamamaraang unyon ang gawain ng paglikha ng isang unyon ng dalawa o higit pang mga saklaw at ibabalik ang resulta bilang isang bagay na RANGE. Gumagawa ito ng eksaktong kapareho ng halimbawa sa ibaba na may object na VBA RANGE.

Syntax

Ngayon tingnan ang syntax ng pamamaraan ng UNION.

Kailangan naming magbigay ng isang minimum na 2 saklaw.

  • Arg 1: Ito ang unang hanay ng mga cell na kailangan namin upang likhain ang unyon.
  • Arg 2: Ito ang ikalawang hanay ng mga cell na kailangan namin upang lumikha ng isang unyon ng.

Ang unang dalawang mga parameter ay sapilitan, pagkatapos ng pagbanggit ng dalawang saklaw ng mga cell pagkatapos ang lahat ng iba pang mga argumento ay naging opsyonal.

Kapag ang data ay nakakalat sa mga piraso ng mga cell kailangan naming pagsamahin ang lahat ng saklaw ng data sa isa upang maisagawa ang isang karaniwang gawain. Maaari kaming lumikha ng isang unyon ng kalat na saklaw sa isa upang maisagawa ang isang katulad na gawain para sa lahat ng mga saklaw ng unyon.

Upang pumili ng maraming mga saklaw ng mga cell maaari naming karaniwang gamitin ang RANGE object. Halimbawa, kung nais naming piliin ang saklaw ng mga cell mula A1 hanggang B5 at mula B3 hanggang D5, maaari naming isulat ang VBA code tulad sa ibaba.

Code:

 Sub Union_Example1 () Union (Saklaw ("A1: B5"), Saklaw ("B3: D5")). Piliin ang End Sub 

Pipiliin nito ang saklaw ng mga cell tulad ng larawan sa ibaba.

Tulad ng nakikita natin sa itaas na imahe sa unang hanay ay napili mula A1 hanggang B5 at ang pangalawang saklaw ay napili mula B3 hanggang D5.

Ito ang karaniwang pamamaraan na ginamit namin lahat habang nagco-coding. Gayunpaman, hindi lamang ito ang pamamaraan na mayroon kami sa pag-coding sa VBA, maaari din kaming gumamit ng isa pang pamamaraan na tinatawag na "unyon" upang lumikha ng isang unyon ng dalawa o higit pang mga saklaw.

Paano magagamit ang Pamamaraan ng VBA Union upang Sumali sa Maramihang Saklaw?

Maaari mong i-download ang VBA Union Excel Template na ito dito - VBA Union Excel Template

Halimbawa # 1

Gawin natin ang parehong pagkuha tulad ng ginawa natin sa halimbawa sa itaas ngunit sa oras na ito sa pamamagitan ng paggamit ng pamamaraan ng UNION.

Hakbang 1 - Buksan ang pagpapaandar ng UNION sa subprocedure.

Code:

 Sub Union_Example1 () Union (End Sub 

Hakbang 2 - Nabanggit ang unang saklaw ng mga cell gamit ang RANGE object. Sa kasong ito, binabanggit ko ang unang saklaw ng mga cell bilang A1 hanggang B5.

Code:

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

Hakbang 3 - Ngayon banggitin ang pangalawang saklaw ng mga cell gamit ang RANGE object, sa kasong ito, binabanggit ko ang saklaw ng mga cell bilang B3 hanggang D5.

Code:

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

Hakbang 4 - Matapos likhain ang pag-iisa ng hanay ng mga cell na ito kailangan naming magpasya kung ano ang kailangan nating gawin sa saklaw ng mga cell na ito. Ilagay tuldok (.) upang makita ang listahan ng IntelliSense.

Code:

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

Hakbang 5 - Maaari naming makita ang lahat ng magagamit na mga pag-aari at pamamaraan ng mga saklaw na ito.

Para sa halimbawang ito, babaguhin ko ang kulay ng Panloob ng mga cell ng unyon. Para sa mga ito kailangan ko munang pumili ng panloob na pag-aari.

Code:

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

Hakbang 6 - Sa panloob na pag-aari, magagawa natin ang maraming mga bagay, ngunit dahil kailangan naming baguhin ang kulay ng mga cell ng unyon pipiliin ko ang Pag-aari ng kulay.

Code:

 Sub Union_Example1 () Union (Saklaw ("A1: A5"), Saklaw ("B3: B5")). Panloob. Color End Sub 

Hakbang 7 - Ngayon kailangan naming itakda ang kulay ng pag-aari. Gagamit ako ng built-in na pag-aari ng index ng kulay bilang vbGreen.

Code:

 Sub Union_Example1 () Union (Saklaw ("A1: A5"), Saklaw ("B3: B5")). Panloob.Kulay = vbGreen End Sub 

Hakbang 8 - Ngayon kung patakbuhin ko ang mga kulay ng code ng mga cell ng unyon ay mababago sa Green na kulay.

Tulad nito gamit ang pamamaraang Union, makakalikha kami ng pagkakaisa ng dalawa o higit pang saklaw ng mga cell.

Halimbawa # 2 - Gumamit ng mga variable upang maiimbak ang saklaw ng mga cell

Ang lahat ng lahat ng lahat ng mga coder ay gumagamit ng mga variable upang maiimbak ang sanggunian ng saklaw ng mga cell. Para sa isang halimbawa tingnan ang code sa ibaba.

Code:

 Sub Union_Example2 () Dim Rng1 Bilang Saklaw na Dim Rng2 Bilang Saklaw na Itakda Rng1 = Saklaw ("A1: B5") Itakda ang Rng2 = Saklaw ("B3: D5") Union (Rng1, Rng2) .Interior.Color = vbGreen End Sub 

Una ay idineklara ko ang dalawang variable bilang Saklaw.

Dim Rng1 Bilang Saklaw

Dim Rng2 Bilang Saklaw

Pagkatapos ay itinakda ko ang sanggunian para sa dalawang variable na ito.

Itakda ang Rng1 = Saklaw ("A1: B5")

Itakda ang Rng2 = Saklaw ("B3: D5")

Ngayon ang variable rng1 ay nagtataglay ng sanggunian ng Saklaw ("A1: B5") at ang pangalawang variable rng2 ay nagtataglay ng sanggunian ng Saklaw ("B3: D5").

Pagkatapos ay inilapat ko ang pagpapaandar ng UNION upang baguhin ang panloob na kulay ng mga saklaw ng mga cell na ito.

Gumagawa din ito ng eksaktong kapareho ng nakaraang isa ngunit ang paggamit ng variable ay ginagawang napaka-kakayahang magamit ang code.

Error sa Pag-andar ng Union

Tulad ng sinabi ko sa lahat ng mga sanggunian ay dapat na sapilitan para sa pamamaraan ng UNION. Para sa isang halimbawa tingnan ang code sa ibaba.

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 

Ito ay katulad ng nakaraang ngunit narito na idineklara ko ang isa pang variable bilang Saklaw.

Dim Rng3 Bilang Saklaw

Ngunit hindi ko naitakda ang sanggunian sa variable na ito, sa halip ay inilalaan ko lamang ang variable sa pagpapaandar ng UNION.

Union (Rng1, Rng2, Rng3). Panloob. Kulay = vbGreen

Kung tatakbo ko ang code na ito makukuha namin ang error tulad ng nasa ibaba.

Ito ay sapagkat anuman ang variable na ibinibigay namin sa argumento ay dapat magkaroon ng ilang sanggunian ng mga cell sa worksheet na pinagtatrabahuhan namin.