VBA ArrayList (Mga Halimbawa) | Paano Lumikha ng ArrayList sa Excel VBA?

Sa vba nakabuo kami ng mga koleksyon ng mga uri ng data, variable ng pag-andar at iba pang mahahalagang pahayag ngunit katulad nito mayroon kaming listahan ng array sa VBA kung saan maaaring baguhin ng isang gumagamit at maglagay ng sariling mga koleksyon ng mga variable at tinukoy ng gumagamit na mga pag-andar sa isang array, may mga tiyak na mga keyword para sa listahan ng array upang idisenyo ito.

Excel VBA ArrayList

Ang VBA ArrayList ay isang uri ng istraktura ng data na ginagamit namin sa VBA upang maiimbak ang data. Ang ArrayList sa Excel VBA ay isang klase na ginamit upang lumikha ng isang hanay ng mga halaga. Hindi ito katulad ng tradisyunal na mga pag-array kung saan ang mga array na iyon ay may nakapirming haba ngunit ang Array List ay walang naayos na haba.

Ang VAB ArrayList ay hindi bahagi ng listahan ng VBA sa halip ito ay isang panlabas na silid-aklatan o bagay na kailangan naming itakda ang sanggunian bago namin simulang i-access ito.

Ang mga array sa VBA ay isang mahalagang bahagi ng anumang wikang naka-coding. Sa pamamagitan ng paggamit ng mga array sa excel maaari naming maiimbak ang data na may isang solong variable name sa pamamagitan ng pagdedeklara ng "mas mababang limitasyon at itaas na limitasyon".

Sa regular na mga array, kailangan nating magpasya ng mas mababang limitasyon at itaas na limitasyon ng array na kailangan namin upang magpasya nang maaga sa oras ng pagdedeklara ng variable sa kaso ng Static Arrays at sa kaso ng Mga Dynamic na Array kailangan naming magpasya ang haba ng array pagkatapos na ideklara ang array sa pamamagitan ng paggamit ng "ReDim" na pahayag sa VBA.

Gayunpaman, mayroon kaming isa pang pagpipilian kung saan maaari naming maiimbak ang bilang na "N" ng mga halaga nang hindi idedeklara ang mas mababang limitasyon at itaas na limitasyon. Sa artikulong ito, ipapakita namin sa iyo ang tungkol sa opsyong iyon ibig sabihin, "VBA ArrayList"

Upang maitakda ang sanggunian sa VBA ArrayList na bagay upang sundin ang mga hakbang sa ibaba.

Hakbang 1: Pumunta sa Mga Tool> Mga Sanggunian

Hakbang 2: Ang window ng sanggunian ng object library ay lilitaw sa harap mo. Piliin ang opsyong “mscorlib.dll

Hakbang 3: Mag-click din sa OK. Ngayon ay maaari na nating ma-access ang VBA ArrayList.

Mga halimbawa ng VBA ArrayList sa Excel

Nasa ibaba ang mga halimbawa ng Excel VBA ArrayList.

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

Halimbawa # 1 - Lumikha ng Instance ng VBA ArrayList

Dahil ang Excel VBA ArrayList ay isang panlabas na bagay na kailangan namin upang lumikha ng isang halimbawa upang simulang gamitin ito. Upang lumikha ng halimbawa sundin ang mga hakbang sa ibaba.

Hakbang 1: Ipahayag ang variable bilang "Listahan ng Array”.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​Bilang ArrayList End End Sub 

Hakbang 2: Dahil ang Array List ay isang bagay na kailangan namin upang lumikha ng isang bagong halimbawa.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​Bilang ArrayList Set ArrayValues ​​= Bagong ArrayList End Sub 

Hakbang 3: Ngayon ay maaari naming panatilihin ang pag-iimbak ng mga halaga sa variable ng array sa pamamagitan ng paggamit ng pamamaraang "Magdagdag". Sa imaheng nasa ibaba ay nagdagdag ako ng tatlong mga halaga.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value End Sub 

Ngayon ay nakatalaga kami ng tatlong mga halaga, paano namin makikilala kung alin ang una at paano namin maipapakita ang mga halaga o magagamit ang mga ito sa aming mga pangangailangan.

Kung natatandaan mo ang tradisyunal na uri ng pag-array ay tinutukoy namin ang unang halaga ng array na tulad ng "ArrayName (0)"

Katulad nito, maaari din nating magamit ang parehong pamamaraan dito.

ArrayValue (0) = "Hello"
ArrayValue (1) = "Mabuti"
ArrayValue (2) = "Umaga"

Hayaang ipakita ito sa kahon ng mensahe.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value MsgBox ArrayValues ​​(0) & vbNewLine & 1) & vbNga BagongLine at ArrayValues ​​(2) End Sub 

Patakbuhin ngayon ang code gamit ang F5 key o manu-mano pagkatapos, makikita namin ang "Kamusta", "Mabuti", at "Umaga" sa kahon ng mensahe ng VBA.

Tulad nito, maaari naming maiimbak ang anumang bilang ng mga halaga sa Array List ng Bagay.

Halimbawa # 2 - Mag-imbak ng Mga Halaga sa Mga Cell Gamit ang VBA ArrayList

Tingnan natin ang halimbawa ng pag-iimbak ng mga itinalagang halaga sa mga cell sa worksheet. Ngayon, tingnan ang sa ibaba ng VBA code.

Code:

 Sub ArrayList_Example2 () Madilim ang Mga MobileName Bilang ArrayList, MobilePrice Bilang ArrayList Dim i Bilang Integer Dim k Bilang Integer Itakda ang Mga MobileNames = Mga Bagong Pangalan ng ArrayList ng mobile na MobileNames.Add ang "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Magdagdag ng "VIVO" MobileNames.Add "LG" Itakda ang MobilePrice = Bagong ArrayList MobilePrice. Magdagdag ng 14500 MobilePrice. Magdagdag ng 25000 MobilePrice. Magdagdag ng 18500 MobilePrice. Magdagdag ng 17500 MobilePrice. Magdagdag ng 17800 End Sub 

Sa pamamagitan ng dalawang listahan ng array, naka-imbak ako ng Mga Pangalan ng Mobile at Mga Presyo ng Mobile. Ngayon kailangan naming ipasok ang mga halagang ito sa worksheet para dito kailangan naming gumamit ng mga loop. Ang loop sa ibaba ang gagawa ng trabaho para sa akin.

Nasa ibaba ang Pangkalahatang code upang maiimbak ang mga halaga sa worksheet.

Code:

 Sub ArrayList_Example2 () Madilim ang Mga MobileName Bilang ArrayList, MobilePrice Bilang ArrayList Dim i Bilang Integer Dim k Bilang Integer Itakda ang Mga MobileNames = Mga Bagong Pangalan ng ArrayList ng mobile na MobileNames. Idagdag ang "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Magdagdag ng "VIVO" MobileNames.Add "LG" Itakda ang MobilePrice = Bagong ArrayList MobilePrice. Magdagdag ng 14500 MobilePrice. Magdagdag ng 25000 MobilePrice. Magdagdag ng 18500 MobilePrice. Magdagdag ng 17500 MobilePrice. Magdagdag ng 17800 k = 0 Para sa i = 1 Sa 5 Mga Cell (i, 1) .Value = MobileNames (k) Mga Cell (i, 2). Halaga = MobilePrice (k) k = k + 1 Susunod i End Sub 

Kapag pinatakbo namin ang code nang manu-mano o ginagamit ang F5 key noon, makukuha namin ang resulta sa ibaba.