VBA masyvų sąrašas (pavyzdžiai) Kaip sukurti „ArrayList“ „Excel VBA“?

VBA mes sukūrėme duomenų tipų, funkcijų kintamųjų ir kitų svarbių sakinių kolekcijas, tačiau panašiai kaip ir mes turime VBA masyvų sąrašą, kuriame vartotojas gali modifikuoti ir įdėti į masyvą savo kintamųjų kolekcijas ir vartotojo nustatytas funkcijas. masyvo sąrašo raktiniai žodžiai, kad jį suprojektuotumėte.

„Excel VBA“ masyvų sąrašas

„VBA ArrayList“ yra tam tikra duomenų struktūra, kurią naudojame VBA duomenims saugoti. „ArrayList“ „Excel VBA“ yra klasė, naudojama kuriant reikšmių masyvą. Skirtingai nuo tradicinių masyvų, kur masyvai turi fiksuotą ilgį, tačiau masyvų sąraše nėra fiksuoto ilgio.

VAB „ArrayList“ nėra VBA sąrašo dalis, veikiau tai yra išorinė biblioteka ar objektas, kurį turime nustatyti prieš pradėdami prieiti prie jo.

Masyvai VBA yra neatskiriama bet kurios kodavimo kalbos dalis. Naudodami „Excel“ masyvus, mes galime saugoti duomenis su vienu kintamojo pavadinimu, deklaruodami „apatinę ribą ir viršutinę ribą“.

Taikydami įprastus masyvus, turime nuspręsti dėl masyvo apatinės ir viršutinės ribos, kurią turime nuspręsti gerokai iš anksto deklaruodami kintamąjį statinių masyvų atveju, o dinaminių masyvų atveju - ilgio ilgį. masyvas deklaravus masyvą naudojant „ReDim“ sakinį VBA.

Tačiau mes turime dar vieną variantą, kur galime išsaugoti „N“ reikšmių skaičių nedeklaruodami apatinės ir viršutinės ribų. Šiame straipsnyje mes jums parodysime apie šią parinktį, ty „VBA ArrayList“

Norėdami nustatyti nuorodą į „VBA ArrayList“ objektą, atlikite toliau nurodytus veiksmus.

1 veiksmas: eikite į Įrankiai> Nuorodos

2 žingsnis: Prieš jus pasirodys objektų bibliotekos nuorodos langas. Pasirinkite parinktį „ mscorlib.dll

3 žingsnis: Taip pat spustelėkite Gerai. Dabar mes galime pasiekti „VBA ArrayList“.

„VBA ArrayList“ pavyzdžiai „Excel“

Toliau pateikiami „Excel VBA ArrayList“ pavyzdžiai.

Šį „VBA ArrayList Excel“ šabloną galite atsisiųsti čia - „VBA ArrayList Excel“ šablonas

1 pavyzdys - sukurkite „VBA ArrayList“ egzempliorių

Kadangi „Excel VBA ArrayList“ yra išorinis objektas, turime sukurti egzempliorių, kad galėtume jį naudoti. Norėdami sukurti egzempliorių, atlikite toliau nurodytus veiksmus.

1 veiksmas: paskelbkite kintamąjį kaip „ ArrayList “.

Kodas:

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

2 žingsnis: Kadangi masyvų sąrašas yra objektas, turime sukurti naują egzempliorių.

Kodas:

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

3 žingsnis: Dabar mes galime toliau saugoti reikšmes masyvo kintamajame naudodami metodą „Pridėti“. Žemiau esančiame paveikslėlyje pridėjau tris vertybes.

Kodas:

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

Dabar mes priskyrėme tris vertybes, kaip mes galime nustatyti, kuri yra pirmoji, ir kaip mes galime parodyti vertes arba panaudoti jas savo poreikiams.

Jei prisimenate tradicinį masyvo tipą, mes nurodome pirmojo masyvo vertę, pvz., „Masyvo pavadinimas (0)“

Panašiai tą pačią techniką galime naudoti ir čia.

„ArrayValue“ (0) = „Sveiki“
„ArrayValue“ (1) = „Geras“
„ArrayValue“ (2) = „Rytas“

Leiskite tai parodyti pranešimo laukelyje.

Kodas:

 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) & vbNewLine & ArrayValues ​​(2) Pabaiga 

Dabar paleiskite kodą naudodami F5 klavišą arba rankiniu būdu, tada VBA pranešimų laukelyje pamatysime „Labas“, „Geras“ ir „Rytas“.

Tokiu būdu mes galime saugoti bet kokį skaičių reikšmių naudodami „Array List Object“.

2 pavyzdys - saugokite ląstelių vertes naudodami VBA ArrayList

Pažiūrėkime pavyzdį, kaip priskirtos vertės saugomos langeliuose darbalapyje. Dabar pažvelkite į žemiau esantį VBA kodą.

Kodas:

 Sub ArrayList_Example2 () pritemdyti mobiliuosius vardus kaip masyvo sąrašą, mobiliųjų kainų kaip masyvų sąrašą Dim i kaip sveikas skaičius Dim k kaip sveikas skaičius Nustatyti MobileNames = New ArrayList 'mobiliųjų telefonų pavadinimų vardai. Pridėti „VIVO“ „MobileNames.Add“ „LG“ rinkinį „MobilePrice“ = naujas „ArrayList MobilePrice“. Pridėti 14500 „MobilePrice“. Pridėti 25 000 „MobilePrice“. Pridėti 18500 „MobilePrice“. Pridėti 17500 „MobilePrice“. Pridėti 17500 „MobilePrice“ ir pridėti 17800 „End Sub“. 

Turėdamas du masyvų sąrašus, aš išsaugojau mobiliojo telefono vardus ir kainas. Dabar mes turime įterpti šias vertes į darbalapį, tam turime naudoti kilpas. Žemiau esanti kilpa atliks darbą už mane.

Žemiau yra bendras kodas, skirtas įrašyti vertes darbalapyje.

Kodas:

 Sub ArrayList_Example2 () pritemdyti mobiliuosius vardus kaip masyvo sąrašą, mobiliųjų kainų kaip masyvų sąrašą Dim i kaip sveikas skaičius Dim k kaip sveikas skaičius Nustatyti MobileNames = New ArrayList 'mobiliųjų telefonų pavadinimų vardai. Pridėti „VIVO“ mobiliuosius vardus. Pridėti „LG“ rinkinį „MobilePrice“ = naujas „ArrayList MobilePrice“. Pridėti 14500 „MobilePrice“. Pridėti 25000 „MobilePrice“. Pridėti 18500 „MobilePrice“. Pridėti 17500 „MobilePrice“. Pridėti 17500 „MobilePrice“. Pridėti 17800 k = 0, jei i = 1–5 langeliai (i, 1) .Value = „MobileNames“ (k) langeliai (i, 2). Vertė = „MobilePrice“ (k) k = k + 1 Kitas „I End Sub“ 

Kai mes paleisime kodą rankiniu būdu arba naudodami F5 klavišą, gausime žemiau pateiktą rezultatą.


$config[zx-auto] not found$config[zx-overlay] not found