Excel VBA ArrayList

Az adatstruktúrákat adatsorok tárolására használják a programozási nyelveken. Nem a címhez köti a memóriát. Az ArrayList az Excel egyik adatszerkezete. Az excel normál tömbjeivel történő összehasonlítás az ArrayList dinamikus. Ezért nincs szükség kezdeti méretnyilatkozatra. Az ArrayList nem része a VBA-nak, egy külső könyvtárhoz van társítva, amely használható a VBA-val.

Az ArrayList meghatározható a közeli memóriahely listájaként. Ahol az értékeket az indexszámokat használják. A lista '0' indexszámmal kezdődik, az első elemet beillesztik a '0' indexbe, a többi elemet pedig 1, 2, 3 stb. Követi. Az ArrayList rengeteg beépített műveletet kínál, sorolást, hozzáadást, eltávolítást, fordított irány, stb.

A könyvtár hozzáadása

Az ArrayList használatához a VBA-ban tartalmaznia kell az „ mscorlib.dll” könyvtárat, amely a .NET keretrendszerhez tartozik .

  • Nyomja meg az F11 billentyűt, vagy kattintson a jobb gombbal a lap nevére a kód ablak eléréséhez. Nyissa meg a VBA kód ablakot, a főmenüből válassza az Eszközök lehetőséget .

  • Az Eszközök menü 'referenciák' opciót tartalmaz, és a könyvtárak listájából áll, amelyek támogatják a VBA-t a különféle objektumok felvételére. Kattintson a Referencia opcióra.

  • Ekkor egy ablakot nyit a különféle könyvtárak listájával, amelyet a VBA és az Excel támogat. Görgessen lefelé a ' dll' eléréséhez. Jelölje be a jelölést a választás megerősítéséhez, majd nyomja meg az 'OK' gombot.

Most a könyvtár szerepel a VBA-kódjában, és támogatni fogja az ArrayListhez társított különféle módszereket.

Hogyan hozhatunk létre VBA ArrayList fájlt az Excel programban?

Az alábbiakban bemutatjuk a VBA ArrayList Excelben létrehozására szolgáló különféle példákat.

Itt letöltheti ezt a VBA ArrayList Excel sablont - VBA ArrayList Excel sablon

Excel VBA ArrayList - 1. példa

Hogyan adhatunk értékeket az ArrayListhez a VBA használatával?

Az ArrayList listaként működik, ahol hozzáadhatunk értékeket. Ez automatikusan tárolódik a különféle részekben, 0, 1, 2-től kezdve stb. Az értékek hozzáadási módszerrel hozzáadhatók vagy beszúrhatók az ArrayList-be.

Ebben a példában megtanulja, hogyan kell hozzáadni az értékek listáját az ArrayList fájlhoz. Kövesse az alábbi lépéseket az ArrayList hozzáadásához az VBA kód használatával Excelben.

1. lépés: Ha az ArrayListhez hozzáad egy értékek listáját, hozzon létre egy arraylist1 függvényt.

Kód:

 Privát alfűrészlista1 () Vége a sub 

2. lépés: Most bele akarjuk vonni az ArrayList funkcióba objektumként, ahol a listát ArrayListként deklaráljuk.

Kód:

 Privát al-sablonlista1 () Dim alist As ArrayList End Sub 

3. lépés: Mivel ez egy objektum a használatához, létre kell hoznia egy ArrayList példányt. Állítson be új példányt ehhez az objektumhoz.

Kód:

 Privát al-arilisták1 () Felfedik ArrayListként Alist = Új ArrayList End Sub 

4. lépés: Az ArrayList 'Add' tulajdonságának használata most hozzáadja az értékeket az ArrayList-hez. Ahol a listát hozzáadják az index értékekhez, 0, 1, 2, 3 sorrendben stb.

Kód:

 Privát al-arilisták1 () Felfedés mint ArrayList beállítása alist = Új ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" 'index (3) Sub 

5. lépés: Annak ellenőrzéséhez, hogy az értékek bekerültek-e a listába, nyomtassuk ki a tömb értékeit egy üzenetmező segítségével. Az értékek kinyomtatásához minden indexet kinyomtatnak, mivel az értékeket ezekben a partíciókban tárolják.

Kód:

 Privát al-arilisták1 () Felfedés mint ArrayList beállítása alist = Új ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" 'index (3) MsgBox ("\\" és alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub 

6. lépés: Nyomja meg az F5 vagy a run gombot a program futtatásához, és az értékek az alábbiak szerint kerülnek kinyomtatásra. Itt egy IP címet tárol az ArrayList, és az értékek kinyomtatása közben az extra jelölések össze vannak kötve, hogy az IP címet megfelelő formátumban formálják.

Automatizálási hiba a VBA-ban

Ez egy általános hiba ArrayList futtatásakor. Az automatizálási hiba „Futásidejű hibát” jelenthet -2146232576 (80131700) Automatizálási hiba ”

Ennek oka az, hogy a .NET-keretrendszer nem megfelelő. Az ArrayList használatához rendelkeznie kell legalább .NET 3.5 vagy magasabb verziójú .NET keretrendszerrel.

Excel VBA ArrayList - 2. példa

Az ArrayList rendezése VBA kóddal

Az ArrayList különféle funkciókat támogat, például a rendezést, a fordítást stb., Ez segít az ArrayListbe beillesztett értékek rendezésében. Miután hozzáadott egy listát az ArrayList-hez, meg lehet fordítani a beszúrt listát.

Kövesse az alábbi lépéseket az ArrayList VBA-kód szerinti rendezéséhez:

1. lépés: Hozzon létre egy arysort1 nevű függvényt a beillesztett értékekben az ArrayListbe történő rendezés elvégzéséhez.

Kód:

 Alsó sorrend1 () Vége az Alsó 

2. lépés: Nyilatkozzon az ArrayList objektum „tömbválasztékává”. Ezzel az objektummal hozzáadhatja és rendezheti az értékeket az ArrayList-en.

Kód:

 Alsó sorrend1 () A tömb sorozatát ArrayList-ként csökkenti 

3. lépés: Az első példához hasonlóan létre kell hoznia egy új példányt a deklarált objektumról. Állítsa be ezt a példányt új ArrayList-ként.

Kód:

 Alsó sorrend1 () Csökkenti a sorozat sorrendjét ArrayList-ként Állítsa be az array sorozatot = Új ArrayList End Sub 

4. lépés: Most az 'Add' módszer használatával illessze be az elemeket az ArrayList-be. Amelynek nincs rendje az értékek vonatkozásában. Véletlenszerűen illesztett be néhány értéket a listába.

Kód:

 Alsó sorrend1 () Halvány tömb sorozatként ArrayListként Állítsa az tömb sorrendjét = Új ArrayList tömb sorrendje.Add "13" tömb sorrend.Add "21" tömb sorrend.Ha hozzáadja "67" tömb sorrend.Hogy hozzá "10" tömb sorrend.Hendez "12" tömb sorozat.Ha hozzá "45" Alatti 

5. lépés: Az ArrayList különbségének észleléséhez nyomtassa ki az ArrayList az értékek beillesztése és a szortírozás előtt.

Kód:

 Alsó sorrend1 () Halvány tömb sorozatként ArrayList-ként Állítsa el tömb sorrendjét = Új ArrayList tömb sorrendje.Add "13" tömb sorrend.Add "21" tömb sorrend.Ha hozzáadja "67" tömb sorrend.Hogy hozzá "10" tömb sorrend.Add "12" tömb sorozatok.Add "45" MsgBox (tömb sorozat (0) & vbCrLf és tömb sorozat (1) _ és vbCrLf és tömb sorozat (2) és vbCrLf és tömb sorozat (3) _ és vbCrLf és tömb sorozat (4) és vbCrLf és tömb sorozat (5)) End Sub 

6. lépés: Nyomja meg az F5 billentyűzetet vagy a futtatás gombot a kódablakban, hogy futtassa a programot az ArrayList kinyomtatásához. Az ArrayList nyomtatása ugyanabban a sorrendben történik, mint a beillesztéskor, mivel az indexszámokat a megfelelő sorrendben használjuk.

7. lépés: Most ehhez a listához alkalmazza az ArrayList válogatási tulajdonságát. A beszúrott lista rendezéséhez használja a rendezési módszert. A sort tulajdonság alapértelmezés szerint növekvő sorrendben rendezi az értékek listáját.

Kód:

 Alsó sorrend1 () Csökkenti a sorozat sorrendjét mint ArrayList Állítsa be az arysort = Új ArrayList tömb sorolatot.Add "13" tömb sorrend.Add "21" tömb sorrend.Használja "67" tömb sorrend.Hogy hozzá "10" tömb sorozat.Hendez "12" sorozat sorozatok sorrendjéhez "45" sorozatok sorrendjéhez .Sort MsgBox (tömb sor (0) & vbCrLf és tömb sor (1) _ & vbCrLf és tömb sor (2) és vbCrLf és tömb sor (3) _ és vbCrLf és tömb sor (4) és vbCrLf és tömb sor (5)) Vége Al 

8. lépés: A VBE alatt nyomja meg az F5 vagy a Futtatás gombot, hogy futtassa ezt a kódot, ahol az értékeket a legkisebb értéktől a legnagyobbig rendezik és nyomtatják ki.

Excel VBA ArrayList - 3. példa

Az ArrayList megfordítása a VBA kód használatával

Ha meg akarja fordítani a beillesztett értékek sorrendjét egy ArrayList fordított módszerrel. Ez megfordítja a lista sorrendjét a jelenlegi sorrendtől. Most már rendeztük az ArrayList az előző példában, amely növekvő sorrendben van.

Próbáljuk megfordítani a rendezett tömböt csökkenő sorrendbe állítása érdekében. Ehhez használja az ArrayList fordított módszerét.

Kód:

 Sub matricort2 () Dim matricasort ArrayListként Set arraySort = New ArrayList arysortort.Add "13" arysort.Add "21" arysort.Add "67" arysort.Add "10" arysort.Add "12" arysort.Add "45" arysort .Sort matricortort.Reverse MsgBox (matricasort (0) & vbCrLf & matricasort (1) _ & vbCrLf & matricasort (2) & vbCrLf & arysort (3) _ & vbCrLf & arysort (4) & vbCrLf & arysort (5)) End Alatti 

A fordított módszer alkalmazása után az ArrayList csökkenő sorrendbe válik, és az üzenet mező segítségével kinyomtatja a fordított tömböt. A rendezett lista nagy értékről kis értékre változik.

Dolgok, amikre emlékezni kell

  • Az ArrayList dinamikus jellegű; nem igényel újraindítást.
  • Különböző beépített módszerek vannak társítva az ArrayList-hez.
  • A tömbhöz képest az ArrayList könnyen használható az Excel VBA alkalmazásban.
  • A támogató .NET könyvtárakat be kell építeni a VBA-ba az ArrayList használatához.
  • Az ArrayList egy folyamatos memóriahely, amelyet index értékek alapján azonosítottak.

Ajánlott cikkek

Ez egy útmutató a VBA ArrayList-hez. Itt megvitatjuk, hogyan lehet az ArrayList létrehozni az Excel VBA-ben, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. Útmutató a VBA tömbök használatához
  2. Excel szám szerinti rendezés
  3. Hogyan válogathatunk Excel-ben a VBA használatával?
  4. Oktatási anyagok a rendezéshez Excelben

Kategória: