VBA ArrayList (Exemple) - Cum se creează ArrayList în Excel VBA?

În vba am încorporat colecții de tipuri de date, variabile de funcții și alte afirmații importante, dar similar cu aceasta avem o listă de matrici în VBA în care un utilizator poate modifica și pune propriile colecții de variabile și funcții definite de utilizator într-o matrice, există anumite cuvinte cheie pentru lista de matrice pentru ao proiecta.

Excel VBA ArrayList

VBA ArrayList este un fel de structură de date pe care o folosim în VBA pentru a stoca datele. ArrayList în Excel VBA este o clasă utilizată pentru a crea o serie de valori. Aceasta, spre deosebire de matricile tradiționale, în care acele matrice au o lungime fixă, dar Lista matricilor nu are o lungime fixă.

VAB ArrayList nu face parte din lista VBA; mai degrabă, este o bibliotecă externă sau un obiect de care trebuie să setăm referința înainte de a începe accesarea acestuia.

Tablourile din VBA sunt o parte integrantă a oricărui limbaj de codare. Prin utilizarea matricelor în excel, putem stoca date cu un singur nume de variabilă declarând „limita inferioară și limita superioară”.

Cu tablouri regulate, trebuie să decidem limita inferioară și limita superioară a tabloului. Trebuie să decidem cu mult timp în avans la momentul declarării variabilei în cazul matricelor statice, iar în cazul matricilor dinamice, trebuie să decidem lungimea matricei după declararea matricei folosind instrucțiunea „ReDim” din VBA.

Cu toate acestea, avem încă o opțiune în care putem stoca numărul „N” de valori fără a declara limita inferioară și limita superioară. În acest articol, vă vom arăta despre acea opțiune, adică „VBA ArrayList”.

Pentru a seta referința la obiectul VBA ArrayList, urmați pașii de mai jos.

Pasul 1: Accesați Instrumente> Referințe.

Pasul 2: fereastra de referință a bibliotecii de obiecte va apărea în fața dvs. Selectați opțiunea „ mscorlib.dll.

Pasul 3: Faceți clic și pe OK. Acum putem accesa VBA ArrayList.

Exemple de VBA ArrayList în Excel

Mai jos sunt exemple de Excel VBA ArrayList.

Exemplul # 1 - Creați o instanță a VBA ArrayList

Deoarece Excel VBA ArrayList este un obiect extern, trebuie să creăm o instanță pentru a începe să folosim acest lucru. Pentru a crea o instanță, urmați pașii de mai jos.

Pasul 1: declarați variabila drept „ ArrayList”.

Cod:

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

Pasul 2: Deoarece Lista Array este un obiect, trebuie să creăm o nouă instanță.

Cod:

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

Pasul 3: Acum, putem continua să stocăm valori în variabila matrice utilizând metoda „Adăugare”. În imaginea de mai jos, am adăugat trei valori.

Cod:

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

Acum am atribuit trei valori, cum putem identifica care este prima și cum putem afișa valorile sau le putem utiliza pentru nevoile noastre.

Dacă vă amintiți tipul tradițional de matrice, facem referire la prima valoare a matricei ca aceasta „ArrayName (0)”

În mod similar, putem folosi aceeași tehnică și aici.

ArrayValue (0) = „Bună ziua”
ArrayValue (1) = „Bun”
ArrayValue (2) = „Dimineață”

Arătați acest lucru în caseta de mesaje.

Cod:

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) & vbNewLine (0) & vbNewLine 1) & vbNewLine & ArrayValues ​​(2) End Sub

Acum rulați codul folosind tasta F5 sau manual, apoi vom vedea „Bună ziua”, „Bun” și „Dimineață” în caseta de mesaje VBA.

Astfel, putem stoca orice număr de valori cu Array List Object.

Exemplul # 2 - Stocați valorile în celule utilizând VBA ArrayList

Să vedem exemplul de stocare a valorilor atribuite celulelor din foaia de lucru. Acum, uitați-vă la codul VBA de mai jos.

Cod:

Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Numele MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Adăugați „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 'Numele MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Adăugați „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 Pentru i = 1 până la 5 celule (i, 1) .Value = MobileNames (k) Celule (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub

Atunci când rulăm codul manual sau folosind tasta F5, vom obține rezultatul de mai jos.

Articole interesante...