Exceli VBA arrayList

Andmestruktuure kasutatakse andmerea salvestamiseks programmeerimiskeeltes. See seob pigem mälu kui aadressi. ArrayList on üks Exceli andmestruktuure. Võrreldes Exceli tavaliste massiividega, on ArrayList dünaamiline. Seetõttu pole esialgset suuruse deklareerimist vaja. ArrayList pole VBA osa, see on seotud välise teegiga, mida saab kasutada koos VBA-ga.

ArrayListi saab määratleda läheduses asuva mälu asukoha loendina. Kui väärtused saadakse indeksnumbrite abil. Loend algab indeksinumbrist „0”, esimene element sisestatakse indeksisse „0” ja ülejäänud osale järgnevad 1, 2, 3 jne. ArrayList pakub palju sisseehitatud toiminguid, sorteerimist, lisamist, eemaldamist, tagurdamine jne on mõned nende hulgas.

Raamatukogu lisamine

ArrayListi kasutamiseks VBA-s peab see sisaldama teeki ' mscorlib.dll', mis on kaasas. NET-raamistikuga .

  • Koodiakna saamiseks vajutage F11 või paremklõpsake lehe nime. Minge VBA-koodiaknasse, valige peamenüüst Tööriistad .

  • Menüü Tööriistad sisaldab suvandit „Viited” ja see koosneb raamatukogude loendist, mis toetab erinevate objektide kaasamiseks VBA-d. Klõpsake suvandit Viide .

  • See viib teid aknasse, kus on loetelu erinevatest raamatukogudest, mida toetatakse VBA ja Excelis. Kerige alla, et leida ' dll'. Valige valiku kinnitamiseks märk, seejärel vajutage nuppu OK.

Nüüd on teek lisatud teie VBA-koodi ja see toetab ArrayListiga seotud erinevaid meetodeid.

Kuidas luua VBA ArrayList Excelis?

Allpool on toodud erinevad näited VBA ArrayListi loomiseks Excelis.

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

Excel VBA ArrayList - näide # 1

Kuidas lisada VBA abil väärtusi ArrayList?

ArrayList toimib loendina, kuhu saame väärtusi lisada. See salvestub automaatselt erinevatesse osadesse alates 0, 1, 2 jne. Väärtusi saab ArrayListisse lisada või lisada, kasutades liitmismeetodit.

Selles näites saate teada, kuidas lisada väärtuste loendit ArrayList. ArrayListi lisamiseks, kasutades Excelis VBA koodi, toimige järgmiselt.

1. samm: väärtuste loendi lisamiseks ArrayListile looge funktsioon arraylist1.

Kood:

 Privaatne alarariilide1 () lõpp alam 

2. samm: nüüd tahame ArrayList funktsiooni lisada objektina, kus loend kuulutatakse ArrayListiks.

Kood:

 Privaatne alarariilist1 () ei kuulu loendisse ArrayList 

3. samm: kuna see on selle kasutamiseks objekt, peate looma ArrayListi eksemplari. Seadke sellele objektile uus eksemplar.

Kood:

 Privaatne alarariilist1 () Hämardab nime nagu ArrayList Määra alist = Uus ArrayListi lõpp-alam 

4. samm: nüüd, kasutades ArrayListi atribuuti Add, lisatakse väärtused ArrayList. Kui loend lisatakse indeksi väärtustesse järjekorras 0, 1, 2, 3 jne.

Kood:

 Privaatne alamralistilist1 () Vähenda alist Nagu ArrayList Määra alist = Uus ArrayList alist.Lisa "192" 'indeks (0) alist.Lisa "168"' register (1) alist.Lisa "1" 'register (2) alist.Lisa Indeks "240" (3) Lõpu alam 

5. samm. Kontrollimaks, kas väärtused on loendisse lisatud, printige massiivi väärtused sõnumikasti abil. Väärtuste printimiseks trükitakse iga register, kuna väärtused salvestatakse nendesse sektsioonidesse.

Kood:

 Privaatne alamralistilist1 () Vähenda alist Nagu ArrayList Määra alist = Uus ArrayList alist.Lisa "192" 'indeks (0) alist.Lisa "168"' register (1) alist.Lisa "1" 'register (2) alist.Lisa "240" 'register (3) MsgBox ("\\" ja alist (0) & "." Ja alist (1) & "." & Alist (2) & "." Ja alist (3)) End Sub 

6. samm: programmi käivitamiseks vajutage nuppu F5 või nuppu Run ja väärtused trükitakse järgmiselt. Siin salvestatakse ArrayList IP-aadress ja väärtuste printimisel ühendatakse täiendavad märkused, et moodustada IP-aadress õiges vormingus.

Automatiseerimisviga VBA-s

ArrayListi käitamisel juhtub tavaline viga. Automaatikaveas võib ilmneda 'käitusaja viga' -2146232576 (80131700) automatiseerimisviga '

Selle põhjuseks on .NET-raamistiku õige versiooni installimata jätmine. ArrayListiga töötamiseks peab teil olema vähemalt .NET 3.5 või .NET-raamistiku kõrgemad versioonid.

Excel VBA ArrayList - näide # 2

ArrayListi sortimine VBA-koodi abil

ArrayList toetab erinevaid funktsioone, nagu sortimine, tagurdamine jne. See aitab sorteerida ArrayListisse sisestatud väärtusi. Kui olete loendi ArrayListisse lisanud, on võimalik sisestatud loendit tagasi pöörata.

ArrayListi sortimiseks VBA-koodi abil toimige järgmiselt.

1. samm: looge funktsioon arraySort1, et sortida sisestatud väärtused ArrayListisse.

Kood:

 Alammassiivi sort1 () Lõpp Alam 

2. samm: kuulutage välja ArrayList objekti „massiivi sort”. Selle objekti abil saate väärtusi ArrayListis lisada ja sortida.

Kood:

 Alammassiivi sort1 () Vähendage massiivi sorti nagu ArrayList End Sub 

3. samm: sarnaselt esimese näitega tuleb luua deklareeritud objekti uus eksemplar. Määrake see eksemplar uueks ArrayList.

Kood:

 Alammassiivi sort1 () Vähenda massiivi sorti kui ArrayList Määra massiivi sort = Uus ArrayListi lõpp-alam 

4. samm. Nüüd lisage elemendid ArrayListisse, kasutades meetodit „Lisa”. Mis ei oma mingit väärtuste järjekorda. Lisas mõned väärtused loendisse juhuslikult.

Kood:

 Alammassiivi sort1 () Vähendage massiivi sorti kui ArrayList Määrake massiivi sort = Uus ArrayList massiivi sort.Lisa "13" massiivi sort .Lisa "21" massiivi sort.Lisa "67" massiivi sort.Lisa "10" massiivi sort.Lisa "12" massiivi sort.Lisa "45" Lõpp Alam 

5. samm: ArrayListi erinevuste märkimiseks printige ArrayList pärast väärtuste sisestamist ja enne sortimist.

Kood:

 Alammassiivi sort1 () Vähendage massiivi sorti kui ArrayList Määrake massiivi sort = Uus ArrayList massiivi sort.Lisa "13" massiivi sort .Lisa "21" massiivi sort.Lisa "67" massiivi sort.Lisa "10" massiivi sort.Lisa "12" massiivi sort.Lisa "45" MsgBox (massiivi sort (0) & vbCrLf ja massiivi sort (1) _ & vbCrLf ja massiivi sort (2) & vbCrLf ja massiivi sort (3) _ & vbCrLf ja massiivi sort (4) & vbCrLf ja massiivi sort (5)) End Sub 

6. samm: programmi käivitamiseks ArrayListi printimiseks vajutage klaviatuuril F5 või koodiaknas nuppu Nupp. ArrayList trükitakse sisestatud samas järjekorras, kuna me kasutame registrinumbreid õiges järjekorras.

7. samm: rakendage selles loendis ArrayListi sortimisomadusi. Sisestatud loendi sortimiseks kasutage sortimismeetodit. Omaduste sortimine sorteerib väärtuste loendi vaikimisi kasvavas järjekorras.

Kood:

 Alammassiivi sort1 () Vähenda massiivi sorti kui ArrayList Määrake massiivi sort = Uus ArrayList massiivi sort.Lisa "13" massiivi sort.Lisa "21" massiivi sort.Lisa "67" massiivi sort.Lisa "10" massiivi sort.Lisa "12" massiivi sort.Lisa "45" massiivi sort .Sort MsgBox (massiivi sort (0) & vbCrLf ja massiivi sort (1) _ & vbCrLf ja massiivi sort (2) & vbCrLf ja massiivi sort (3) _ & vbCrLf ja massiivi sort (4) ja vbCrLf ja massiivi sort (5)) End Sub 

8. samm: selle koodi käivitamiseks vajutage VBE all nuppu F5 või nuppu Käivita, kus väärtused sorteeritakse ja prinditakse väikseimast väärtusest suurimaks.

Excel VBA ArrayList - näide nr 3

ArrayListi tagurdamine VBA-koodi abil

Kui soovite sisestatud väärtuste järjekorda vastupidiseks muuta, on saadaval ArrayListi pöördmeetod. See muudab nimekirja järjekorra praegusest järjestusest vastupidiseks. Nüüd oleme eelmises näites juba sortinud ArrayList, mis on kasvavas järjekorras.

Proovime sorteeritud massiivi ümber pöörata, et muuta see kahanevas järjekorras. Kasutage selleks ArrayListi vastupidist meetodit.

Kood:

 Alammassiivi sort2 () Vähenda massiivi sorti kui ArrayList Määrake massiivi sort = Uus ArrayList massiivi sort.Lisa "13" massiivi sort .Lisa "21" massiivi sort.Lisa "67" massiivi sort.Lisa "10" massiivi sort.Lisa "12" massiivi sort.Lisa "45" massiivi sort .Sorteeri massiivi sort.Pöörake MsgBox (massiivi sort (0) & vbCrLf ja massiivi sort (1) _ & vbCrLf ja massiivi sort (2) & vbCrLf ja massiivi sort (3) _ & vbCrLf ja massiivi sort (4) ja vbCrLf ja massiivi sort (5)) Lõpp Alam 

Pärast vastupidise meetodi rakendamist muutub ArrayList kahanevas järjekorras ja kasutab ümberpööratud massiivi printimiseks sõnumikasti. Sorteeritud loend muudetakse suurelt väärtuselt väikseks.

Asjad, mida meeles pidada

  • ArrayList on oma olemuselt dünaamiline; see ei vaja uuesti lähtestamist.
  • ArrayListiga seostatakse erinevaid sisseehitatud meetodeid.
  • Võrreldes massiiviga on ArrayList Excelis VBA lihtne kasutada.
  • ArrayListiga töötamiseks tuleks VBA-sse lisada toetavad .NET-teegid.
  • ArrayList on jätkuva mälu asukoht, mis tuvastatakse indeksi väärtuste abil.

Soovitatavad artiklid

See on VBA ArrayListi juhend. Siin arutatakse, kuidas luua ArrayList Excel VBA-s koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA massiivide kasutamise juhend
  2. Excel numbri järgi sortimine
  3. Kuidas sortida Excelis VBA abil?
  4. Õppetunnid sorteerimise kohta Excelis

Kategooria: