VBA massiivi loend (näited) | Kuidas Exceli VBA-s ArrayListi luua?

VBA-s oleme sisse ehitanud andmetüüpide, funktsioonide muutujate ja muude oluliste lausete kogud, kuid sarnaselt sellele on meil VBA-s massiivide loend, kus kasutaja saab muuta ja panna massiivi enda muutujate kogumeid ja kasutaja määratud funktsioone massiivi loendi märksõnad selle kujundamiseks.

Exceli VBA massiivi loend

VBA ArrayList on omamoodi andmestruktuur, mida kasutame VBA-s andmete salvestamiseks. ArrayList Excelis VBA on klass, mida kasutatakse väärtuste massiivi loomiseks. Erinevalt traditsioonilistest massiividest, kus neil massiividel on fikseeritud pikkus, kuid massiivide loendis pole fikseeritud pikkust.

VAB ArrayList ei kuulu VBA loendisse, pigem on see väline teek või objekt, millele peame enne sellele juurde pääsemist viite määrama.

VBA massiivid on mis tahes kodeerimiskeele lahutamatu osa. Kasutades massiive excelis, saame andmeid salvestada ühe muutuja nimega, deklareerides “alumine piir ja ülemine piir”.

Tavaliste massiivide korral peame otsustama massiivi alumise ja ülemise piiri, mille peame otsustama aegsasti muutuja deklareerimise ajal staatiliste massiivide korral ja dünaamiliste massiivide puhul peame otsustama vahemiku pikkuse massiiv pärast massiivi deklareerimist, kasutades VBA-s lauset “ReDim”.

Kuid meil on veel üks võimalus, kus saame salvestada väärtuste arvu N tähistamata alumist ja ülemist piiri. Selles artiklis me näitame teile selle võimaluse kohta, st "VBA ArrayList"

Objektile VBA ArrayList viite määramiseks toimige järgmiselt.

1. samm: valige Tööriistad> Viited

2. samm: teie ette ilmub objektide kogu viide aken. Valige suvand “ mscorlib.dll

3. samm: klõpsake ka OK. Nüüd pääseme juurde VBA ArrayListile.

Näited VBA ArrayListist Excelis

Allpool on toodud näited Exceli VBA ArrayListist.

Selle VBA ArrayList Exceli malli saate alla laadida siit - VBA ArrayList Exceli mall

Näide # 1 - VBA ArrayListi eksemplari loomine

Kuna Exceli VBA ArrayList on väline objekt, peame selle kasutamise alustamiseks looma eksemplari. Eksemplari loomiseks toimige järgmiselt.

1. samm: kuulutage muutuja nimeksArrayList ”.

Kood:

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

2. samm: kuna massiivide loend on objekt, peame looma uue eksemplari.

Kood:

 Sub ArrayList_Example1 () Dim ArrayValues ​​as ArrayList Set ArrayValues ​​= New ArrayList End Sub 

3. samm: Nüüd saame väärtuste salvestamist massiivi muutujale, kasutades meetodit „Lisa”. Alloleval pildil olen lisanud kolm väärtust.

Kood:

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

Nüüd oleme määranud kolm väärtust, kuidas teha kindlaks, milline on esimene ja kuidas neid väärtusi näidata või oma vajadustele vastavalt kasutada.

Kui mäletate traditsioonilist massiivi tüüpi, siis viitab see esimesele massiivi väärtusele "ArrayName (0)"

Samamoodi võime ka siin kasutada sama tehnikat.

ArrayValue (0) = „Tere”
ArrayValue (1) = “Hea”
ArrayValue (2) = "Hommik"

Las see kuvatakse sõnumikastis.

Kood:

 Sub ArrayList_Example1 () Dim ArrayValues ​​nagu 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) & vbNewLine & ArrayValues ​​(2) Lõpeta alamrühm 

Nüüd käivitage kood klahviga F5 või käsitsi, siis näeme VBA sõnumikastis "Tere", "Hea" ja "Hommik".

Nii saame massiiviloendi objektiga salvestada suvalise arvu väärtusi.

Näide # 2 - salvestage rakkude väärtused VBA ArrayListi abil

Vaatame töölehe lahtritele määratud väärtuste salvestamise näidet. Nüüd vaadake allpool olevat VBA-koodi.

Kood:

 Sub ArrayList_Example2 () Hämardage mobiilinimesid massiivi nimekirjana, MobilePrice kui massiivi loendit Dim i täisarvuna Dim k as integre Set MobileNames = New ArrayList 'mobiilseadmete mobiilinimede nimed. Lisage "Redmi" mobiilinimed.Lisage "Samsung" mobiilinimed.lisage "oppo" mobiilinimed. Lisage "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Kahe massiiviloendiga olen salvestanud mobiiltelefoni nimed ja mobiiltelefoni hinnad. Nüüd peame need väärtused töölehele lisama, selleks peame kasutama tsükleid. Allpool olev silmus teeb minu jaoks selle töö ära.

Allpool on üldine kood töölehe väärtuste salvestamiseks.

Kood:

 Sub ArrayList_Example2 () Hämardage mobiilinimesid massiivi loendina, MobilePrice massiivi loendina Dim i täisarvuna Dim k as täisarv Määra mobiilinimed = New ArrayList 'mobiilseadmete mobiilinimede nimed. Lisage "Redmi" mobiilinimed. Lisage "Samsung" mobiilinimed.lisage "oppo" mobiilinimed. Lisage "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 for i = 1 kuni 5 lahtrit (i, 1) .Value = MobileNames (k) Lahtrid (i, 2). Väärtus = MobilePrice (k) k = k + 1 Järgmine i End Sub 

Kui käivitame koodi käsitsi või siis klahvi F5 kasutades, saame järgmise tulemuse.