VBA ArrayList (exempel) - Hur skapar jag ArrayList i Excel VBA?

Innehållsförteckning

I vba har vi inbyggt samlingar av datatyper, funktionsvariabler och andra viktiga uttalanden men liknande detta har vi arraylista i VBA där en användare kan modifiera och placera egna samlingar av variabler och användardefinierade funktioner i en array, det finns vissa nyckelord för matrislistan för att designa den.

Excel VBA ArrayList

VBA ArrayList är en typ av datastruktur som vi använder i VBA för att lagra data. ArrayList i Excel VBA är en klass som används för att skapa en rad värden. Detta, till skillnad från traditionella arrays, där dessa arrays har en fast längd, men Array List inte har någon fast längd.

VAB ArrayList ingår inte i VBA-listan. snarare är det ett externt bibliotek eller objekt som vi behöver för att ställa in referensen innan vi börjar komma åt det.

Arrangemang i VBA är en integrerad del av vilket kodningsspråk som helst. Genom att använda arrays i excel kan vi lagra data med ett enda variabelnamn genom att förklara "nedre gräns och övre gräns."

Med vanliga matriser måste vi bestämma gruppens nedre och övre gräns. Vi måste bestämma i god tid vid tidpunkten för deklarationen av variabeln när det gäller statiska matriser, och när det gäller dynamiska matriser måste vi bestämma längden på matrisen efter att ha deklarerat matrisen med hjälp av "ReDim" -uttalandet i VBA.

Vi har dock ytterligare ett alternativ där vi kan lagra “N” -antalet värden utan att deklarera nedre och övre gräns. I den här artikeln kommer vi att visa dig om det alternativet, dvs. ”VBA ArrayList.”

Så här ställer du in referensen till VBA ArrayList-objekt enligt nedanstående steg.

Steg 1: Gå till Verktyg> Referenser.

Steg 2: Objektbibliotekets referensfönster visas framför dig. Välj alternativet “ mscorlib.dll.

Steg 3: Klicka också på OK. Nu kan vi komma åt VBA ArrayList.

Exempel på VBA ArrayList i Excel

Nedan följer exemplen på Excel VBA ArrayList.

Exempel nr 1 - Skapa instans av VBA ArrayList

Eftersom Excel VBA ArrayList är ett externt objekt måste vi skapa en instans för att börja använda detta. Följ stegen nedan för att skapa en instans.

Steg 1: Förklara variabeln som " ArrayList."

Koda:

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

Steg 2: Eftersom Array List är ett objekt måste vi skapa en ny instans.

Koda:

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

Steg 3: Nu kan vi lagra värden i arrayvariabeln genom att använda "Lägg till" -metoden. I bilden nedan har jag lagt till tre värden.

Koda:

Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good"' Second Value ArrayValues.Add "Morning" 'Three Value End Sub

Nu har vi tilldelat tre värden, hur identifierar vi vilka som är de första och hur kan vi visa värdena eller använda dem efter våra behov.

Om du kommer ihåg traditionell arraytyp hänvisar vi till det första arrayvärdet så här "ArrayName (0)"

På samma sätt kan vi också använda samma teknik här.

ArrayValue (0) = “Hej”
ArrayValue (1) = “Bra”
ArrayValue (2) = “Morgon”

Låt oss visa detta i meddelandefältet.

Koda:

Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'First Value ArrayValues.Add "Good" Second Value ArrayValues.Add "Morning"' Three Value MsgBox ArrayValues ​​(0) & vbNewLues (&) 1) & vbNewLine & ArrayValues ​​(2) End Sub

Kör nu koden med F5-tangenten eller manuellt då kommer vi att se "Hej", "Bra" och "Morgon" i meddelandefältet VBA.

Så här kan vi lagra valfritt antal värden med Array List Object.

Exempel # 2 - Lagra värden i celler med VBA ArrayList

Låt oss se exemplet med att lagra de tilldelade värdena till cellerna i kalkylbladet. Titta nu på nedanstående VBA-kod.

Koda:

Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Name of the Mobile MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Lägg till "VIVO" MobileNames.Add "LG" Set MobilePrice = New 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 = New ArrayList 'Name of the Mobile MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Lägg till "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 For i = 1 To 5 Cells (i, 1) .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub

När vi kör koden manuellt eller använder F5-tangenten får vi resultatet nedan.

Intressanta artiklar...