Excel VBA ArrayList

Datastrukturer brukes til å lagre en serie data på programmeringsspråk. Det binder seg til minnet fremfor adresse. En ArrayList er en av datastrukturene i Excel. Sammenligning med normale matriser i excel ArrayList er dynamisk. Derfor er det ikke nødvendig med noen første størrelseserklæring. ArrayList er ikke en del av VBA, det er assosiert med et eksternt bibliotek som kan brukes med VBA.

ArrayList kan defineres som en liste over et minneplass i nærheten. Hvor verdiene hentes ved å bruke indeksnumrene. Listen starter fra et indeksnummer '0', det første elementet blir satt inn i '0' indeksen og resten blir fulgt av 1, 2, 3, etc. ArrayList tilbyr mange innebygde operasjoner, sortering, legge til, fjerne, reversering, etc. er noen av dem.

Legge til biblioteket

For å bruke ArrayList i VBA må den inkludere biblioteket ' mscorlib.dll' som kommer med .NET framework .

  • Trykk F11 eller høyreklikk på arknavnet for å få kodevinduet. Gå til VBA-kodevinduet, og velg Verktøy fra hovedmenyen.

  • Verktøymenyen inneholder alternativet 'referanser', og den består av en liste over biblioteker som støtter VBA for å inkludere forskjellige objekter. Klikk på Referanse- alternativet.

  • Det vil føre deg til et vindu med en liste over forskjellige biblioteker som støtter i VBA og Excel. Bla nedover for å finne ' dll'. Merk av for å bekrefte valget, og trykk deretter på OK-knappen.

Nå er biblioteket inkludert i VBA-koden din, og det vil støtte forskjellige metoder assosiert med en ArrayList.

Hvordan lage VBA ArrayList i Excel?

Nedenfor er de forskjellige eksemplene for å lage VBA ArrayList i Excel.

Du kan laste ned denne VBA ArrayList Excel Mal her - VBA ArrayList Excel Mal

Excel VBA ArrayList - Eksempel nr. 1

Hvordan legge til verdier i ArrayList ved å bruke VBA?

ArrayList fungerer som en liste der vi kan legge til verdier. Dette lagres automatisk i de forskjellige delene fra 0, 1, 2 osv. Verdiene kan legges til eller settes inn i ArrayList ved å bruke metoden.

I dette eksemplet lærer du hvordan du legger til en liste over verdier i en ArrayList. Følg trinnene nedenfor for å legge til ArrayList ved å bruke VBA-kode i Excel.

Trinn 1: Hvis du vil legge til en liste over verdier i en ArrayList, oppretter du en funksjon arraylist1.

Kode:

 Private Sub arraylist1 () Slutt Sub 

Trinn 2: Nå vil vi inkludere ArrayList i funksjonen som et objekt der en liste er erklært som en ArrayList.

Kode:

 Private Sub arraylist1 () Dim alist As ArrayList End Sub 

Trinn 3: Siden dette er et objekt å bruke det, må du opprette en forekomst av ArrayList. Angi en ny forekomst for dette objektet.

Kode:

 Private Sub arraylist1 () Dim alist As ArrayList Sett alist = New ArrayList Slutt Sub 

Trinn 4: Nå bruker du 'Legg til' egenskapen til en ArrayList og legger til verdiene til ArrayList. Der listen legges til indeksverdiene i en ordre 0, 1, 2, 3 etc.

Kode:

 Privat sub arraylist1 () Dim alist As ArrayList Sett alist = New ArrayList alist.Legg til "192" 'indeks (0) alist.Legg til "168"' indeks (1) alist.Legg til "1" 'indeks (2) alist.Legg til "240" 'indeks (3) Slutt sub 

Trinn 5: For å sjekke om verdiene ble lagt til i listen, la oss skrive ut matriseverdiene ved å bruke en meldingsboks. For å skrive ut verdiene hver indeks skrives ut siden verdiene er lagret i disse partisjonene.

Kode:

 Privat sub arraylist1 () Dim alist As ArrayList Sett alist = New ArrayList alist.Legg til "192" 'indeks (0) alist.Legg til "168"' indeks (1) alist.Legg til "1" 'indeks (2) alist.Legg til "240" 'indeks (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub 

Trinn 6: Trykk F5 eller run-knappen for å kjøre programmet, og verdiene skrives ut som nedenfor. Her lagres en IP-adresse i ArrayList, og mens du skriver ut verdiene, kobles ekstra notasjoner sammen for å danne IP-adressen i et riktig format.

Automasjonsfeil i VBA

Det er en vanlig feil som oppstår når du kjører en ArrayList. En automatiseringsfeil kan støte på 'Kjørtidsfeil' -2146232576 (80131700) Automasjonsfeil '

Dette er på grunn av ikke riktig versjon av .NET-rammeverket installert. For å jobbe med ArrayList må du ha minimum .NET 3.5 eller høyere versjoner av .NET framework.

Excel VBA ArrayList - Eksempel # 2

Sortering av ArrayList ved hjelp av VBA-kode

ArrayList støtter forskjellige funksjoner som sortering, reversering osv. Dette hjelper deg med å sortere verdiene som er satt inn i en ArrayList. Når du har lagt til en liste i ArrayList, er det mulig å reversere den innsatte listen.

Følg trinnene nedenfor for å sortere ArrayList ved å bruke VBA-kode:

Trinn 1: Lag en funksjon som heter arraysort1 for å utføre sorteringen innenfor de innlagte verdiene i en ArrayList.

Kode:

 Sub arraysort1 () Slutt Sub 

Trinn 2: Forklar et objekt 'arraysort' av ArrayList. Bruk dette objektet til å legge til og sortere verdiene i ArrayList.

Kode:

 Sub arraysort1 () Dim arraysort Som ArrayList End Sub 

Trinn 3: I likhet med det første eksemplet trenger å opprette en ny forekomst av det deklarerte objektet. Angi denne forekomsten som en ny ArrayList.

Kode:

 Sub arraysort1 () Dim arraysort Som ArrayList Sett arraysort = New ArrayList End Sub 

Trinn 4: Nå bruker du "Legg til" -metoden og legger elementene til ArrayList. Som ikke har noen orden på verdier. Sett inn noen verdier tilfeldig i listen.

Kode:

 Sub arraysort1 () Dim arraysort Som ArrayList Sett arraysort = New ArrayList arraysort.Legg til "13" arraysort.Legg til "21" arraysort.Legg til "67" arraysort.Legg til "10" arraysort.Legg til "12" arraysort.Legg til "45" End Under 

Trinn 5: For å merke forskjellen i ArrayList, la oss skrive ut ArrayList etter å ha satt inn verdiene og før du har sortert den.

Kode:

 Sub arraysort1 () Dim arraysort Som ArrayList Sett arraysort = New ArrayList arraysort.Legg til "13" arraysort.Legg til "21" arraysort.Legg til "67" arraysort.Legg til "10" arraysort.Legg til "12" arraysort.Legg til "45" MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5)) End Sub 

Trinn 6: Trykk F5 på tastaturet eller kjør-knappen i kodevinduet for å kjøre programmet for å skrive ut ArrayList. ArrayList skrives ut i samme rekkefølge som det er satt inn siden vi bruker indeksnumrene i riktig rekkefølge.

Trinn 7: Nå på denne listen bruke sorteringsegenskapene til ArrayList. Bruk sorteringsmetoden for å sortere den innsatte listen. Sorteringsegenskapen vil som standard sortere listen over verdier i stigende rekkefølge.

Kode:

 Sub arraysort1 () Dim arraysort Som ArrayList Sett arraysort = New ArrayList arraysort.Legg til "13" arraysort.Legg til "21" arraysort.Legg til "67" arraysort.Legg til "10" arraysort.Legg til "12" arraysort.Legg til "45" arraysort .Sort MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5)) End Sub 

Trinn 8: Trykk på F5 eller Run-knappen under VBE for å kjøre denne koden, der verdiene blir sortert og skrevet ut i rekkefølge fra minste verdi til størst.

Excel VBA ArrayList - Eksempel # 3

Reversering av ArrayList ved hjelp av VBA-kode

Når du vil reversere rekkefølgen på innsatte verdier i en ArrayList-omvendt metode er tilgjengelig. Dette vil reversere rekkefølgen på listen fra gjeldende rekkefølge. Nå har vi allerede sortert ArrayList i forrige eksempel, som er i stigende rekkefølge.

La oss prøve å snu den sorterte gruppen for å få den til synkende rekkefølge. Bruk den omvendte metoden til ArrayList for å gjøre dette.

Kode:

 Sub arraysort2 () Dim arraysort Som ArrayList Sett arraysort = New ArrayList arraysort.Legg til "13" arraysort.Legg til "21" arraysort.Legg til "67" arraysort.Legg til "10" arraysort.Legg til "12" arraysort.Legg til "45" arraysort .Sort arraysort.Reverse MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arrays) Under 

Etter bruk av omvendt metode vil ArrayList bli i synkende rekkefølge og bruke meldingsboksen til å skrive ut den reverserte arrayen. Den sorterte listen blir endret fra stor verdi til liten verdi.

Ting å huske

  • ArrayList er dynamisk i sin natur; det krever ikke initialisering på nytt.
  • Ulike innebygde metoder er assosiert med ArrayList.
  • Sammenlignet med matrisen er ArrayList enkel å bruke i Excel VBA.
  • De støttende .NET-bibliotekene bør inkluderes i VBA for å jobbe med ArrayList.
  • ArrayList er en fortsettende minneplassering som identifiseres ved hjelp av indeksverdier.

Anbefalte artikler

Dette er en guide til VBA ArrayList. Her diskuterer vi hvordan du lager ArrayList i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. Veiledning for bruk av VBA-matriser
  2. Excel sortering etter nummer
  3. Hvordan sortere i Excel ved hjelp av VBA?
  4. Veiledninger om sortering i Excel

Kategori: