Koleksyon ng VBA | Paano Lumikha ng Koleksyon ng Bagay sa VBA?

Layunin ng Koleksyon ng Excel VBA

Sa VBA coding bukod sa mayroon nang koleksyon ng mga item sa ilalim ng isang pangkat maaari kaming lumikha ng aming sariling mga pangkat ng koleksyon. Sa aming maraming mga artikulo, napag-usapan namin ang tungkol sa mga variable ng bagay at sa tutorial na ito, dadalhin namin ang detalye ng koleksyon ng VBA nang detalyado.

Kung dumaan ka sa aming naunang artikulong "VBA Arrays" kung gayon magiging mas madali para sa iyo na maunawaan. Ginagamit ang mga array upang mapangkat ang mga variable sa ilalim ng isang bubong, katulad din, ginagamit ang Koleksyon upang mag-imbak ng isang pangkat ng mga variable.

Ginagamit ang mga koleksyon upang mag-imbak ng mga bagay. Ang mga ito ay higit na nababaluktot kaysa sa mga arrays ng VBA samantalang ang mga arrays ay may nakapirming limitasyon sa laki ngunit ang mga koleksyon ay walang naayos na limitasyon sa laki sa anumang naibigay na punto ng oras at kahit na hindi nangangailangan ng manu-manong pagbabago ng laki.

Ang Koleksyon ng VBA ay halos kapareho sa "VBA Diksiyonaryo" ngunit ang diksyunaryo ay nangangailangan ng panlabas na sanggunian ng object upang mai-set up ito sa ilalim ng window ng sanggunian ng object. Sa VBA Dictionary kailangan naming itakda ang uri ng sanggunian bilang "Microsoft Scripting Runtime" ngunit ang Koleksyon ay hindi nangangailangan ng anuman sa mga labis na kabit.

Paano Lumikha ng Koleksyon ng Bagay sa VBA?

Upang makapagsimula sa koleksyon muna kailangan naming ideklara ang variable bilang "Koleksyon".

Maaari mong i-download ang VBA Collection Excel Template dito - VBA Collection Excel Template

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon End End 

Dahil ang koleksyon ay isang variable ng object kailangan naming itakda ang sanggunian ng object sa pamamagitan ng paglikha ng isang bagong halimbawa.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon End End 

Ngayon sa variable, maaari nating ma-access ang lahat ng mga pamamaraan ng variable ng koleksyon na "Col".

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. End Sub 

Bago gamitin ang mga pamamaraang ito kailangan naming ideklara ang isang variable bilang isang string.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Madilim ColResult Bilang String End Sub 

Ngayon gamitin ang variable na "Col" piliin ang pamamaraang "Magdagdag".

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. Idagdag ang End Sub 

Sa ilalim ng pamamaraang Magdagdag, mayroon kaming ilang mga parameter. Ipagpalagay natin na nagtatago kami ng mga pangalan ng tatak na mobile sa kanilang average na presyo ng pagbebenta sa merkado.

Sa ilalim ni Item, ang pagtatalo ay pumasok sa presyo ng mobile.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Col Koleksyon. Idagdag ang item: = 15000, End Sub 

Susunod, sa ilalim Susi argument ipasok ang pangalan ng mobile brand.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. Idagdag ang Item: = 15000, Key: = "Redmi" End Sub 

Ngayon para sa variable na "ColResult", iimbak namin ang resulta ng variable na "Col" na variable.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. Idagdag ang item: = 15000, Key: = "Redmi" ColResult = Col (End Sub 

Kapag binuksan mo ang panaklong ng variable na "Col" maaari naming makita ang argumento bilang Index para sa argument na ito kailangan naming ibigay ang susi halaga ng argumento mula sa paraan ng pagdaragdag ng Koleksyon hal. pangalan ng mobile brand.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. Idagdag ang item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub 

Hayaang ipakita ang resulta sa kahon ng mensahe sa VBA.

Code:

 Sub Collection_Example () Dim Col Bilang Koleksyon Itakda Col = Bagong Koleksyon Col. Idagdag ang item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub 

Ok, tapos na tayo kapag pinatakbo namin ang code na dapat nating makita ang presyo ng tatak sa mobile na "Redmi".

Mas mahusay na Pag-unawa sa Mga Parameter ng Key at Item

Sigurado ako na hindi madaling maunawaan ang mga parameter ng object ng Koleksyon. Hayaan mong ipaliwanag ko sa iyo ng isang simpleng halimbawa.

Isipin na mayroon kang isang menu ng mga prutas na may kanilang pangalan at presyo ng mga prutas. Ipagpalagay na hinahanap mo ang presyo ng prutas na "Apple" sa pamamagitan ng pangalan ng prutas.

Upang maghanap ang presyo ng prutas kailangan nating banggitin ang pangalan ng prutas ibig sabihin sa koleksyon ng wika ng VBA Pangalan ng Prutas ay Susi at ang presyo ng prutas ay "Item".

Ito ay tulad ng paglalapat ng pagpapaandar ng VLOOKUP o HLOOKUP, batay sa halaga ng pagtingin kukunin namin ang kinakailangang data mula sa database. Narito ang halaga ng paghahanap Susi at ang resulta ay Item

Masusing Halimbawa

Isipin na ikaw ay isang tagapamahala ng tindahan sa isa sa mga tingiang tindahan at responsable ka sa pamamahala ng mga query sa customer. Ang isang tulad ng query sa customer ay isang pagtatanong tungkol sa presyo ng produkto.

Kailangan mong payagan ang customer na maghanap sa presyo ng produkto na may kumpletong impormasyon. Katulad nito, kailangan mong ipakita ang mensahe sakaling walang nahanap na data. Nasa ibaba ang halimbawa ng code na magpapakita ng kahon ng pag-input sa harap ng gumagamit at kinakailangan nilang ipasok ang pangalan ng produktong hinahanap nila, kung ang produkto ay naroon sa koleksyon ay ipapakita nito ang presyo ng nabanggit na produkto o hindi ipakita ang mensahe bilang "Ang Produkto na iyong hinahanap ay wala."

Code:

 Sub Collection_Example2 () Dim ItemsCol Bilang Koleksyon Dim ColResult Bilang String Set ItemsCol = Mga Bagong Item ng KoleksyonCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Water Melon", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application InputBox (Prompt: = "Mangyaring Ipasok ang Pangalan ng Prutas ") Kung ItemsCol (ColResult)" "Kung gayon MsgBox" Ang Presyo ng Prutas "& ColResult &" ay: "& ItemsCol (ColResult) Iba Pang MsgBox" Presyo ng Prutas na Hinahanap Mo Ay Hindi Umiiral sa ang Koleksyon "Tapusin Kung Tapusin Sub