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

Lang L: none (table-of-contents)

VBA-s oleme sisse ehitanud andmetüüpide, funktsioonide muutujate ja muude oluliste lausete kogud, kuid sarnaselt sellele on meil VBA-s massiivide loend, milles kasutaja saab muuta ja panna massiivi enda muutujate kogumeid ja kasutaja määratletud funktsioone, on teatud 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. See, 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 raamatukogu või objekt, millele peame enne sellele juurde pääsemist viite seadma.

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

Tavaliste massiividega peame otsustama massiivi alumise ja ülemise piiri. Staatiliste massiivide korral peame muutuja deklareerimise ajal aegsasti otsustama ja dünaamiliste massiivide korral pärast massiivi deklareerimist massiivi pikkuse otsustama avalduse “ReDim” abil. VBA.

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.

Näide 1 - Loo VBA ArrayListi eksemplar

Kuna Excel 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 massiivi muutujale väärtusi salvestada, 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 viidame esimese massiivi väärtusele nagu see "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 klahvi F5 abil 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

With two array lists, I have stored Names of the Mobile and Prices of the Mobile. Now we need to insert these values to the worksheet for this. We need to use loops. The below loop will do the job for me.

Below is the Overall code to store values to the worksheet.

Code:

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

Huvitavad Artiklid...