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 TemplateHalimbawa # 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.