VBA ArrayList (примери) - Как да създам ArrayList в Excel VBA?

Съдържание

В vba сме вградили колекции от типове данни, променливи на функции и други важни изявления, но подобно на това имаме списък с масиви във VBA, в който потребителят може да модифицира и поставя собствени колекции от променливи и дефинирани от потребителя функции в масив, има определени ключови думи за списъка с масиви, за да го проектирате.

Excel VBA ArrayList

VBA ArrayList е вид структура от данни, която използваме във VBA за съхраняване на данните. ArrayList в Excel VBA е клас, използван за създаване на масив от стойности. Това, за разлика от традиционните масиви, където тези масиви имат фиксирана дължина, но списъкът с масиви няма фиксирана дължина.

VAB ArrayList не е част от списъка VBA; по-скоро това е външна библиотека или обект, на който трябва да зададем референцията, преди да започнем достъп до нея.

Масивите във VBA са неразделна част от всеки език за кодиране. Използвайки масиви в Excel, можем да съхраняваме данни с едно име на променлива, като декларираме „долната граница и горната граница“.

При обикновените масиви трябва да решим долната и горната граница на масива. Трябва да вземем решение предварително по време на декларирането на променливата в случай на статични масиви, а в случай на динамични масиви, трябва да решим дължината на масива след деклариране на масива, като използваме оператора „ReDim“ в VBA.

Имаме обаче още една опция, при която можем да съхраняваме „N“ броя на стойностите, без да декларираме долната и горната граница. В тази статия ще ви покажем за тази опция, т.е. „VBA ArrayList“.

За да зададете препратката към обект VBA ArrayList, за да следвате стъпките по-долу.

Стъпка 1: Отидете на Инструменти> Референции.

Стъпка 2: Пред вас ще се появи справочен прозорец за библиотеката на обекти. Изберете опцията “ mscorlib.dll.

Стъпка 3: Щракнете върху OK също. Сега можем да получим достъп до VBA ArrayList.

Примери за VBA ArrayList в Excel

По-долу са примерите за Excel VBA ArrayList.

Пример # 1 - Създаване на екземпляр на VBA ArrayList

Тъй като Excel VBA ArrayList е външен обект, трябва да създадем екземпляр, за да започнем да използваме това. За да създадете екземпляр, следвайте стъпките по-долу.

Стъпка 1: Декларирайте променливата като „ ArrayList“.

Код:

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

Стъпка 2: Тъй като Списъкът с масиви е обект, трябва да създадем нов екземпляр.

Код:

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

Стъпка 3: Сега можем да продължим да съхраняваме стойности в променливата на масива, като използваме метода „Добавяне“. В изображението по-долу съм добавил три стойности.

Код:

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

Сега сме присвоили три стойности, как да идентифицираме коя е първата и как можем да покажем стойностите или да ги използваме според нашите нужди.

Ако си спомняте традиционния тип масив, ние отнасяме първата стойност на масива като тази „ArrayName (0)“

По същия начин и тук можем да използваме същата техника.

ArrayValue (0) = „Здравейте“
ArrayValue (1) = „Добър“
ArrayValue (2) = „Сутрин“

Нека покажем това в полето за съобщения.

Код:

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) & vbNVVes 1) & vbNewLine & ArrayValues ​​(2) Крайна под

Сега стартирайте кода с помощта на клавиша F5 или ръчно, тогава ще видим „Здравейте“, „Добре“ и „Сутрин“ в полето за съобщения на VBA.

По този начин можем да съхраняваме произволен брой стойности с Array List Object.

Пример # 2 - Съхраняване на стойности в клетки с помощта на VBA ArrayList

Нека да видим примера за съхраняване на присвоените стойности на клетките в работния лист. Сега вижте кода по-долу VBA.

Код:

Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Имена на мобилните MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Добавете "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 'Имена на мобилните MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Добавете "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) . Стойност = MobileNames (k) Клетки (i, 2). Стойност = MobilePrice (k) k = k + 1 Напред i Край Sub

Когато стартираме кода ръчно или използвайки клавиша F5, ще получим резултата по-долу.

Интересни статии...