VBA ArrayList (voorbeelden) - Hoe maak je ArrayList aan in Excel VBA?

Inhoudsopgave

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, waar 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 zijn een integraal onderdeel van elke coderingstaal. Door arrays in Excel te gebruiken, kunnen we gegevens opslaan met een enkele variabelenaam door de "ondergrens en bovengrens" te declareren.

Bij gewone arrays moeten we de ondergrens en bovengrens van de array bepalen. We moeten ruim van tevoren beslissen bij het declareren van de variabele in het geval van Static Arrays, en in het geval van Dynamic Arrays, moeten we de lengte van de array bepalen nadat we de array hebben gedeclareerd met behulp van de 'ReDim'-instructie 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, namelijk "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.

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 de 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 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 - Sla waarden op in cellen met behulp van VBA ArrayList

Laten we eens kijken naar het voorbeeld van het opslaan van de toegewezen waarden aan de cellen in het werkblad. Kijk nu naar 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

With two array lists, I have stored Names of the Mobile and Prices of the Mobile. Now we need to insert these values to the worksheet for this. We need to use loops. The below loop will do the job for me.

Below is the Overall code to store values to the worksheet.

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.

Interessante artikelen...