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 Predloga

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

  1. Vodnik za uporabo matric VBA
  2. Razvrsti v Excelu po številu
  3. Kako razvrstiti v Excelu z uporabo VBA?
  4. Vadnice za razvrščanje v Excelu

Kategorija: