Excel VBA ArrayList
Podatkovne strukture se uporabljajo za shranjevanje niza podatkov v programskih jezikih. Bolj se veže na pomnilnik in ne na naslov. ArrayList je ena od podatkovnih struktur v excelu. Primerjava z običajnimi nizi v excelu ArrayList je dinamična. Zato začetna izjava o velikosti ni potrebna. ArrayList ni del VBA, povezan je z zunanjo knjižnico, ki jo lahko uporabljamo z VBA.
ArrayList lahko definirate kot seznam bližnjega pomnilniškega mesta. Kjer so vrednosti pridobljene s pomočjo indeksnih številk. Seznam se začne s številko indeksa '0', prvi element bo vstavljen v indeks '0', ostalo pa sledi 1, 2, 3 itd. ArrayList ponuja veliko vgrajenih operacij, razvrščanje, dodajanje, odstranjevanje, vzvratno vožnjo itd. so nekatere med njimi.
Dodajanje knjižnice
Za uporabo ArrayList v VBA mora vključiti knjižnico ' mscorlib.dll', ki je priložena .NET okviru .
- Pritisnite F11 ali z desno miškino tipko kliknite ime lista, da se prikaže okno s kodo. Pojdite v okno kode VBA, v glavnem meniju izberite Orodja .
- Meni orodij vsebuje možnost 'reference' in je sestavljen iz seznama knjižnic, ki podpira VBA za vključitev različnih predmetov. Kliknite na možnost Reference .
- Odprlo vas bo okno s seznamom različnih knjižnic, ki podpirajo VBA in Excel. Pomaknite se navzdol in poiščite ' dll'. Označite potrditev izbire, nato pritisnite gumb 'V redu'.
Zdaj je knjižnica vključena v kodo VBA in bo podpirala različne metode, povezane z ArrayListom.
Kako ustvariti VBA ArrayList v Excelu?
Spodaj so različni primeri za ustvarjanje VBA ArrayList v Excelu.
Predlogo VBA ArrayList Excel lahko prenesete tukaj - VBA ArrayList Excel PredlogaExcel VBA ArrayList - primer # 1
Kako dodati vrednosti v ArrayList z uporabo VBA?
ArrayList deluje kot seznam, kjer lahko dodajamo vrednosti. Ta se samodejno shrani v različne dele, začenši od 0, 1, 2 itd. Vrednosti lahko dodate ali vstavite v ArrayList z uporabo metode add.
V tem primeru se boste naučili, kako dodati seznam vrednosti v ArrayList. Sledite spodnjim korakom, če želite dodati ArrayList s kodo VBA v excel.
1. korak: Če želite dodati seznam vrednosti v ArrayList, ustvarite funkcijo arraylist1.
Koda:
Zasebni sub arraylist1 () End Sub
2. korak: Zdaj želimo vključiti ArrayList v funkcijo kot objekt, kjer je seznam razglašen za ArrayList.
Koda:
Zasebni sub arraylist1 () Dim alist Kot ArrayList End Sub
Korak 3: Ker je to predmet, da ga uporabite, morate ustvariti primerek ArrayList. Za ta predmet nastavite nov primerek.
Koda:
Zasebni sub arraylist1 () Dim alist Kot ArrayList Set alist = Nov ArrayList End Sub
4. korak: Z uporabo lastnosti »Dodaj« ArrayList doda vrednosti v ArrayList. Kjer se seznam doda v indeksne vrednosti v vrstnem redu 0, 1, 2, 3 itd.
Koda:
Zasebni sub arraylist1 () Dim alist Kot ArrayList Set alist = Nov ArrayList alist.Dodaj "192" 'indeks (0) alist.Dodaj "168"' indeks (1) alist.Dodaj "1" 'indeks (2) alist.Dodaj Indeks "240" '(3) končna podst
5. korak: Če želite preveriti, ali so vrednosti dodane na seznam, natisnite vrednosti matrike s pomočjo sporočila. Za tiskanje vrednosti se vsak indeks natisne, saj so vrednosti shranjene v teh particijah.
Koda:
Zasebni sub arraylist1 () Dim alist Kot ArrayList Set alist = Nov ArrayList alist.Dodaj "192" 'indeks (0) alist.Dodaj "168"' indeks (1) alist.Dodaj "1" 'indeks (2) alist.Dodaj "240" 'indeks (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub
6. korak: Pritisnite F5 ali gumb za zagon programa in vrednosti bodo natisnjene kot spodaj. Tu je v ArrayList shranjen IP naslov in med tiskanjem vrednosti so dodatni zapiski združeni, da se IP naslov oblikuje v pravilni obliki.
Napaka avtomatizacije v VBA
Običajna napaka se zgodi med izvajanjem ArrayList. Napaka v avtomatizaciji lahko naleti na 'Napaka med izvajanjem' -2146232576 (80131700) Napaka pri avtomatizaciji '
Razlog je, da ni nameščena pravilna različica ogrodja .NET. Za delo z ArrayList morate imeti minimalno .NET 3.5 ali višje različice ogrodja .NET.
Excel VBA ArrayList - primer # 2
Razvrščanje ArrayList z uporabo kode VBA
ArrayList podpira različne funkcije, kot so razvrščanje, previjanje itd., Kar pomaga pri razvrščanju vrednosti, vstavljenih v ArrayList. Ko dodate seznam v ArrayList, je mogoče vstaviti seznam.
Če želite razvrstiti ArrayList s kodo VBA, sledite spodnjim korakom:
1. korak: Ustvarite funkcijo imenovano arraysort1 za izvajanje razvrščanja znotraj vstavljenih vrednosti v ArrayList.
Koda:
Sub arraysort1 () End Sub
2. korak: Označite objekt 'matrična polja' ArrayList. S tem objektom dodajte in razvrstite vrednosti v ArrayList.
Koda:
Sub arraysort1 () Zatemni niz kot ArrayList End Sub
Korak 3: Podobno kot prvi primer je treba ustvariti nov primerek prijavljenega predmeta. Ta primer nastavite kot nov ArrayList.
Koda:
Sub arraysort1 () Dim matrični niz kot Set ArrayList arraysort = Nov ArrayList End Sub
4. korak: Zdaj z uporabo metode "Dodaj" vstavite elemente v ArrayList. Ki nima nobenega vrstnega reda o vrednostih. Naključno so na seznam vstavljene nekatere vrednosti.
Koda:
Pod arraysort1 () Dim arraysort As ArrayList Set arraysort = Nov ArrayList arraysort.Dodajte "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" End Pod
5. korak: Če želite zabeležiti razliko v seznamu ArrayList, natisnite ArrayList, potem ko vstavimo vrednosti in preden ga razvrstimo.
Koda:
Pod arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & nize (5)) End Sub
6. korak: Pritisnite tipko F5 na tipkovnici ali zaženite gumb v oknu s kodo, da zaženete program za tiskanje ArrayList. ArrayList je natisnjen v istem vrstnem redu, kot je bil vstavljen, ker uporabljamo indeksne številke v pravilnem vrstnem redu.
7. korak: Zdaj na ta seznam uporabite lastnost sortiranja ArrayList. Za razvrščanje vstavljenega seznama uporabite način razvrščanja. Lastnost razvrščanja bo seznam vrednosti privzeto razvrščala v naraščajočem vrstnem redu.
Koda:
Pod arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort MsgBox (niz (0) & vbCrLf & matrika (1) _ & vbCrLf & nize (2) & vbCrLf & arraysort (3) _ & vbCrLf & matrična enota (4) & vbCrLf & matrična enota (5) End Sub
8. korak: Pritisnite tipko F5 ali gumb Run pod VBE, da zaženete to kodo, kjer so vrednosti razvrščene in natisnjene po vrstnem redu od najmanjše do največje vrednosti.
Excel VBA ArrayList - Primer # 3
Povrat ArrayList s kodo VBA
Če želite spremeniti vrstni red vstavljenih vrednosti v metodi ArrayList reverse, je na voljo. To bo obrnilo vrstni red seznama iz njegovega trenutnega vrstnega reda. Zdaj smo že razvrstili ArrayList v prejšnjem primeru, ki je v naraščajočem vrstnem redu.
Poskusimo obrniti razvrščeno matriko in narediti padajoči vrstni red. Za to uporabite obratno metodo ArrayList.
Koda:
Pod arraysort2 () Dim arraysort As ArrayList Set arraysort = Nov ArrayList arraysort.Dodaj "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort arraysort.Reverse MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & endraysort Pod
Po uporabi obratne metode bo ArrayList postal v padajočem vrstnem redu in s poljem za sporočila natisnil obrnjeno matriko. Razvrščeni seznam se spremeni iz velike vrednosti v majhno vrednost.
Stvari, ki jih je treba zapomniti
- ArrayList je dinamične narave; ne potrebuje ponovne inicializacije.
- Z ArrayListom so povezane različne vgrajene metode.
- V primerjavi z nizom je ArrayList enostaven za uporabo v Excelu VBA.
- Podporne knjižnice .NET morajo biti vključene v VBA za delo z ArrayList.
- ArrayList je neprekinjeno pomnilniško mesto, ki se identificira z uporabo indeksnih vrednosti.
Priporočeni članki
To je vodnik za VBA ArrayList. Tukaj razpravljamo o tem, kako ustvariti ArrayList v Excelu VBA skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -
- Vodnik za uporabo matric VBA
- Razvrsti v Excelu po številu
- Kako razvrstiti v Excelu z uporabo VBA?
- Vadnice za razvrščanje v Excelu