VBA ArrayList (exemples) | Com es crea ArrayList a Excel VBA?

A vba hem incorporat col·leccions de tipus de dades, variables de funcions i altres afirmacions importants, però de manera similar a aquesta, tenim una llista de matrius a VBA en què un usuari pot modificar i posar col·leccions pròpies de variables i funcions definides per l’usuari en una matriu. paraules clau per a la llista de matrius per dissenyar-la.

Excel VBA ArrayList

VBA ArrayList és un tipus d’estructura de dades que fem servir a VBA per emmagatzemar les dades. ArrayList a Excel VBA és una classe que s’utilitza per crear una matriu de valors. A diferència de les matrius tradicionals en què aquestes matrius tenen una longitud fixa, però la llista de matrius no té cap longitud fixa.

VAB ArrayList no forma part de la llista VBA, sinó que és una biblioteca o objecte extern al qual necessitem establir la referència abans de començar a accedir-hi.

Les matrius de VBA formen part integral de qualsevol llenguatge de codificació. En utilitzar matrius a Excel podem emmagatzemar dades amb un nom de variable únic declarant el "límit inferior i límit superior".

Amb matrius regulars, hem de decidir el límit inferior i el límit superior de la matriu que hem de decidir amb molta antelació en el moment de declarar la variable en cas de matrius estàtics i en cas de matrius dinàmics, hem de decidir la longitud de la matriu. array després de declarar el array mitjançant la instrucció "ReDim" a VBA.

No obstant això, tenim una opció més on podem emmagatzemar el nombre de valors "N" sense declarar el límit inferior i el límit superior. En aquest article, us mostrarem aquesta opció, és a dir, "VBA ArrayList"

Per establir la referència a l'objecte VBA ArrayList, seguiu els passos següents.

Pas 1: Aneu a Eines> Referències

Pas 2: La finestra de referència de la biblioteca d’objectes apareixerà davant vostre. Seleccioneu l'opció "mscorlib.dll

Pas 3: Feu clic a D'acord també. Ara podem accedir a la VBA ArrayList.

Exemples de VBA ArrayList a Excel

A continuació es mostren els exemples d'Excel VBA ArrayList.

Podeu descarregar aquesta plantilla Excel de VBA ArrayList aquí - Plantilla Excel de VBA ArrayList

Exemple 1: creeu una instància de VBA ArrayList

Com que Excel VBA ArrayList és un objecte extern, hem de crear una instància per començar a utilitzar-lo. Per crear una instància, seguiu els passos següents.

Pas 1: Declareu la variable com a "ArrayList”.

Codi:

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

Pas 2: Com que Array List és un objecte, hem de crear una nova instància.

Codi:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= Subfinestra nova llista ArrayList 

Pas 3: Ara podem continuar emmagatzemant valors a la variable matriu mitjançant el mètode "Afegeix". A la imatge següent he afegit tres valors.

Codi:

 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 

Ara hem assignat tres valors, com identifiquem quin és el primer i com podem mostrar-los o utilitzar-los segons les nostres necessitats.

Si recordeu el tipus de matriu tradicional, fem referència al primer valor de matriu com aquest "ArrayName (0)"

De la mateixa manera, també podem utilitzar la mateixa tècnica aquí.

ArrayValue (0) = "Hola"
ArrayValue (1) = "Bona"
ArrayValue (2) = "Matí"

Mostreu-ho al quadre de missatges.

Codi:

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

Ara executeu el codi amb la tecla F5 o manualment; a continuació, veurem "Hola", "Bona" i "Matí" al quadre de missatges VBA.

Així, podem emmagatzemar qualsevol nombre de valors amb Array List Object.

Exemple 2: emmagatzemar valors a les cel·les mitjançant VBA ArrayList

Vegem l’exemple d’emmagatzematge dels valors assignats a les cel·les del full de treball. Ara mireu el següent codi VBA.

Codi:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Noms del mòbil MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Afegiu "VIVO" MobileNames.Add "LG" Defineix MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Amb dues llistes de matrius, he emmagatzemat noms del mòbil i preus del mòbil. Ara hem d’inserir aquests valors al full de càlcul per a això, hem d’utilitzar bucles. El bucle següent em farà la feina.

A continuació es mostra el codi general per emmagatzemar valors al full de càlcul.

Codi:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Noms del mòbil MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Afegiu "VIVO" MobileNames.Add "LG" Defineix MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Per a i = 1 a 5 cel·les (i, 1) .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub 

Quan executem el codi manualment o utilitzant la tecla F5, obtindrem el resultat següent.