Excel VBA ArrayList

Структурите на данните се използват за съхраняване на поредица от данни в програмните езици. Той се свързва с паметта, а не с адреса. ArrayList е една от структурите на данните в excel. Сравняването с нормалните масиви в excel ArrayList е динамично. Следователно не е необходимо първоначално деклариране на размера. ArrayList не е част от VBA, той е свързан с външна библиотека, която може да се използва с VBA.

ArrayList може да бъде определен като списък на местоположение в паметта наблизо. Където стойностите са извлечени с помощта на индексните числа. Списъкът започва от номер на индекс '0', първият елемент ще бъде вмъкнат в индекс '0', а останалите са последвани от 1, 2, 3 и т.н. ArrayList предлага изобилие от вградени операции, сортиране, добавяне, премахване, заден ход и т.н. са някои от тях.

Добавяне на библиотеката

За да използва ArrayList във VBA, той трябва да включва библиотеката ' mscorlib.dll', която се предлага с .NET рамка .

  • Натиснете F11 или щракнете с десния бутон върху името на листа, за да получите прозореца с код. Отидете в прозореца с код на VBA, от главното меню изберете Инструменти .

  • Менюто с инструменти съдържа опция 'reference' и се състои от списък на библиотеки, които поддържа VBA за включване на различни обекти. Кликнете върху опцията Справка .

  • Това ще ви отведе до прозорец със списък на различни библиотеки, които поддържат в VBA и Excel. Превъртете надолу, за да намерите ' dll'. Поставете отметка, за да потвърдите избора, след това натиснете бутона „OK“.

Сега библиотеката е включена във вашия VBA код и ще поддържа различни методи, свързани с ArrayList.

Как да създадете VBA ArrayList в Excel?

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

Можете да изтеглите този шаблон на VBA ArrayList Excel тук - VBA ArrayList Excel шаблон

Excel VBA ArrayList - Пример №1

Как да добавяте стойности към ArrayList с помощта на VBA?

ArrayList действа като списък, в който можем да добавяме стойности. Това автоматично ще се съхранява в различните части, започвайки от 0, 1, 2 и т.н. Стойностите могат да добавят или вмъкват в ArrayList с помощта на метода add.

В този пример ще научите как да добавите списък със стойности в ArrayList. Следвайте стъпките по-долу, за да добавите ArrayList, използвайки VBA Code в excel.

Стъпка 1: За да добавите списък със стойности към ArrayList създайте функция arraylist1.

Код:

 Private Sub arraylist1 () End Sub 

Стъпка 2: Сега искаме да включим ArrayList във функцията като обект, където списък е деклариран като ArrayList.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList End Sub 

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

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = New ArrayList End Sub 

Стъпка 4: Сега използвайки свойството „Добавяне“ на ArrayList добавя стойностите към ArrayList. Когато списъкът се добавя към стойностите на индекса в ред 0, 1, 2, 3 и т.н.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = New ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" 'индекс (3) Край Sub 

Стъпка 5: За да проверите дали стойностите са добавени в списъка, нека отпечатаме стойностите на масива с помощта на поле за съобщения. За да отпечатате стойностите, всеки индекс се отпечатва, тъй като стойностите се съхраняват в тези дялове.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = New ArrayList alist.Add "192" 'index (0) alist.Add "168"' index (1) alist.Add "1" 'index (2) alist.Add "240" 'индекс (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End Sub 

Стъпка 6: Натиснете F5 или стартирайте бутона, за да стартирате програмата и стойностите ще бъдат отпечатани, както е показано по-долу. Тук IP адрес се съхранява в ArrayList и докато отпечатвате стойностите, допълнителните нотации се обединяват, за да формират IP адреса в подходящ формат.

Грешка в автоматизацията в VBA

Често срещана грешка се случва при стартиране на ArrayList. Грешка в автоматизацията може да срещне „Грешка по време на изпълнение“ -2146232576 (80131700) Грешка при автоматизация “

Това се дължи на не правилната инсталирана версия на .NET рамката. За да работите с ArrayList, трябва да имате минимум .NET 3.5 или по-високите версии на .NET Framework.

Excel VBA ArrayList - Пример №2

Сортиране на ArrayList с помощта на VBA код

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

Следвайте стъпките по-долу, за да сортирате ArrayList с помощта на VBA код:

Стъпка 1: Създайте функция, наречена arraysort1, за да извършите сортирането в поставените стойности в ArrayList.

Код:

 Sub arraysort1 () End Sub 

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

Код:

 Sub arraysort1 () Dim arraysort като ArrayList End Sub 

Стъпка 3: Подобно на първия пример трябва да създадете нов екземпляр на декларирания обект. Задайте този екземпляр като нов ArrayList.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList End Sub 

Стъпка 4: Сега с помощта на метода 'Добави' вмъкнете елементите в ArrayList. Което не притежава никакъв ред по стойности. Случайно вмъкнете някои стойности в списъка.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" End подводница 

Стъпка 5: За да отбележим разликата в ArrayList, нека отпечатаме ArrayList, след като вмъкнем стойностите и преди да я сортираме.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5)) End Sub 

Стъпка 6: Натиснете F5 на клавиатурата или пуснете бутона в прозореца на кода, за да стартирате програмата за отпечатване на ArrayList. ArrayList се отпечатва в същия ред, в който е вмъкнат, тъй като използваме индексните числа в правилния му ред.

Стъпка 7: Сега към този списък приложите свойството за сортиране на ArrayList. Използвайте метода за сортиране, за да сортирате поставения списък. Свойството сортиране ще сортира списъка на стойностите във възходящ ред по подразбиране.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort MsgBox (масив (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & масив (5) Край Sub 

Стъпка 8: Натиснете бутон F5 или Изпълнете под VBE, за да стартирате този код, където стойностите са сортирани и отпечатани в ред от най-малката стойност до най-голямата.

Excel VBA ArrayList - Пример №3

Обръщане на ArrayList с помощта на VBA код

Когато искате да обърнете реда на вмъкнатите стойности в обратен метод на ArrayList. Това ще обърне реда на списъка от текущия му ред. Сега вече сме сортирали ArrayList в предишния пример, който е във възходящ ред.

Нека се опитаме да обърнем сортирания масив, за да го направим низходящ ред. Използвайте обратния метод на ArrayList, за да направите това.

Код:

 Sub arraysort2 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort.Add "12" arraysort.Add "45" arraysort .Sort arraysort. Обратно MsgBox (масив (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & endraysort (4) подводница 

След прилагането на обратния метод, ArrayList ще стане в низходящ ред и ще използва полето за съобщения за отпечатване на обърнатия масив. Подреденият списък се променя от голяма стойност на малка стойност.

Неща, които трябва да запомните

  • ArrayList е динамичен по своята същност; тя не изисква повторна инициализация.
  • Различни вградени методи са свързани с ArrayList.
  • В сравнение с масива, ArrayList е лесен за използване в Excel VBA.
  • Поддържащите .NET библиотеки трябва да бъдат включени във VBA, за да работят с ArrayList.
  • ArrayList е непрекъснато място в паметта, което се идентифицира с помощта на стойности на индекса.

Препоръчителни статии

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

  1. Ръководство за използване на VBA масиви
  2. Excel Сортиране по номер
  3. Как да сортирате в Excel с помощта на VBA?
  4. Ръководства за сортиране в Excel

Категория: