VBA ArrayList

In vba hebben we verzamelingen van datatypes, functievariabelen en andere belangrijke verklaringen ingebouwd, maar vergelijkbaar met deze hebben we een arraylijst in VBA waarin een gebruiker zijn eigen collecties variabelen en door de gebruiker gedefinieerde functies in een array kan wijzigen en plaatsen, er zijn bepaalde trefwoorden voor de arraylijst om deze te ontwerpen.

Excel VBA ArrayList

VBA ArrayList is een soort gegevensstructuur die we in VBA gebruiken om de gegevens op te slaan. ArrayList in Excel VBA is een klasse die wordt gebruikt om een ​​reeks waarden te maken. Dit in tegenstelling tot traditionele arrays waarbij die arrays een vaste lengte hebben, maar Array List geen vaste lengte.

VAB ArrayList maakt geen deel uit van de VBA-lijst, het is eerder een externe bibliotheek of object waarvan we de referentie moeten instellen voordat we er toegang toe krijgen.

Arrays in VBA maken integraal deel uit van elke codeertaal. Door arrays in Excel te gebruiken, kunnen we gegevens opslaan met een enkele variabelenaam door de "ondergrens en bovengrens" te declareren.

Bij reguliere arrays moeten we de ondergrens en bovengrens van de array bepalen die we ruim van tevoren moeten beslissen op het moment van declareren van de variabele in het geval van statische arrays en in het geval van dynamische arrays moeten we de lengte van de array na het declareren van de array met behulp van de instructie "ReDim" in VBA.

We hebben echter nog een optie waarbij we het "N" aantal waarden kunnen opslaan zonder de ondergrens en bovengrens op te geven. In dit artikel zullen we u over die optie laten zien, dwz 'VBA ArrayList'

Volg de onderstaande stappen om de verwijzing naar het VBA ArrayList-object in te stellen.

Stap 1: Ga naar Tools> Referenties

Stap 2: Het referentievenster van de objectbibliotheek verschijnt voor u. Selecteer de optie " mscorlib.dll "

Stap 3: Klik ook op OK. Nu hebben we toegang tot de VBA ArrayList.

Voorbeelden van VBA ArrayList in Excel

Hieronder staan ​​de voorbeelden van Excel VBA ArrayList.

U kunt deze VBA ArrayList Excel-sjabloon hier downloaden - VBA ArrayList Excel-sjabloon

Voorbeeld # 1 - Maak een exemplaar van VBA ArrayList

Omdat Excel VBA ArrayList een extern object is, moeten we een instantie maken om dit te gaan gebruiken. Volg de onderstaande stappen om een ​​instantie te maken.

Stap 1: Declareer de variabele als " ArrayList ".

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList End Sub 

Stap 2: Aangezien Array List een object is, moeten we een nieuwe instantie maken.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= Nieuwe ArrayList End Sub 

Stap 3: Nu kunnen we waarden blijven opslaan in de arrayvariabele door de “Add” -methode te gebruiken. In de onderstaande afbeelding heb ik drie waarden toegevoegd.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= Nieuwe ArrayList ArrayValues.Add "Hallo" 'Eerste waarde ArrayValues.Add "Good"' Tweede waarde ArrayValues.Add "Morning" 'Three Value End Sub 

Nu hebben we drie waarden toegewezen: hoe kunnen we identificeren welke de eerste is en hoe kunnen we de waarden laten zien of ze gebruiken voor onze behoeften.

Als u zich het traditionele array-type herinnert, verwijzen we naar de eerste array-waarde zoals deze "ArrayName (0)"

Evenzo kunnen we hier ook dezelfde techniek gebruiken.

ArrayValue (0) = "Hallo"
ArrayValue (1) = "Goed"
ArrayValue (2) = "Ochtend"

Laat dit zien in het berichtvenster.

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= Nieuwe ArrayList ArrayValues.Add "Hallo" 'eerste waarde ArrayValues.Add "Good"' Tweede waarde ArrayValues.Add "Morning" 'Three Value MsgBox ArrayValues ​​(0) & vbrayNewLine 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Voer nu de code uit met behulp van de F5-toets of handmatig, dan zien we "Hallo", "Goed" en "Ochtend" in het VBA-berichtvenster.

Op deze manier kunnen we een willekeurig aantal waarden opslaan met Array List Object.

Voorbeeld # 2 - Waarden opslaan in cellen met VBA ArrayList

Laten we eens kijken naar het voorbeeld van het opslaan van de toegewezen waarden aan de cellen in het werkblad. Bekijk nu de onderstaande VBA-code.

Code:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = Nieuwe ArrayList 'Names van de mobiele MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Voeg "VIVO" MobileNames.Add "LG" toe Set MobilePrice = Nieuwe ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Met twee arraylijsten heb ik de namen van de mobiele telefoon en de prijzen van de mobiele telefoon opgeslagen. Nu moeten we deze waarden in het werkblad invoegen, hiervoor moeten we lussen gebruiken. De onderstaande lus zal het werk voor mij doen.

Hieronder staat de algemene code om waarden op te slaan in het werkblad.

Code:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = Nieuwe ArrayList 'Names van de mobiele MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Voeg "VIVO" MobileNames.Add "LG" toe Set MobilePrice = Nieuwe ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Voor i = 1 tot 5 cellen (i, 1) .Value = MobileNames (k) Cellen (i, 2) .Value = MobilePrice (k) k = k + 1 Volgende i End Sub 

Wanneer we de code handmatig uitvoeren of de F5-toets gebruiken, krijgen we het onderstaande resultaat.