Excel VBA ArrayList

Структури даних використовуються для зберігання серії даних на мовах програмування. Він пов'язує пам'ять, а не адресу. ArrayList - одна з структур даних у excel. Порівняння зі звичайними масивами в excel ArrayList є динамічним. Тому початкове декларування розміру не потрібно. ArrayList не є частиною VBA, він пов'язаний із зовнішньою бібліотекою, яку можна використовувати з VBA.

ArrayList можна визначити як список місцеположення пам'яті поблизу. Там, де значення отримуються за допомогою індексних чисел. Список починається з числа індексу "0", перший елемент буде вставлений в індекс "0", а решта - 1, 2, 3 і т. Д. ArrayList пропонує безліч вбудованих операцій, сортування, додавання, видалення, реверс тощо.

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

Щоб використовувати ArrayList у VBA, йому потрібно включити бібліотеку ' mscorlib.dll', яка поставляється з .NET рамкою .

  • Натисніть F11 або клацніть правою кнопкою миші назву аркуша, щоб отримати вікно коду. Перейдіть у вікно коду VBA, у головному меню виберіть Інструменти .

  • Меню інструментів містить опцію 'посилання' і складається з списку бібліотек, який підтримує VBA для включення різних об'єктів. Клацніть на пункт Довідка .

  • Це призведе до вікна зі списком різних бібліотек, які підтримуються в VBA та Excel. Прокрутіть униз, щоб знайти ' dll'. Поставте позначку для підтвердження вибору, а потім натисніть кнопку «ОК».

Тепер бібліотека включена у ваш код 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 у excel.

Крок 1. Щоб додати список значень до ArrayList, створіть функцію arraylist1.

Код:

 Private Sub arraylist1 () End Sub 

Крок 2: Тепер ми хочемо включити ArrayList у функцію як об'єкт, де список оголошується як ArrayList.

Код:

 Private Sub arraylist1 () Розмір списку як ArrayList End Sub 

Крок 3: Оскільки це об’єкт для його використання, ви повинні створити екземпляр ArrayList. Встановіть новий екземпляр для цього об’єкта.

Код:

 Приватний Sub arraylist1 () Розмір списку як ArrayList Set alist = Новий 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) Кінець Підряд 

Крок 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)) Кінець Sub 

Крок 6: Натисніть F5 або запустити кнопку, щоб запустити програму, і значення будуть надруковані як нижче. Тут IP-адреса зберігається в ArrayList і під час друку значень додаткові позначення об'єднуються для формування IP-адреси у відповідному форматі.

Помилка автоматизації в VBA

Це звичайна помилка, яка виникає під час запуску ArrayList. Помилка автоматизації може зустрітись "Помилка під час виконання" -2146232576 (80131700) Помилка автоматизації "

Це пов’язано з невірно встановленою версією .NET Framework. Для роботи з 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 масив As 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 & масив (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" масив .Sort MsgBox (масив (0) & vbCrLf & масив (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & масив (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" масив .Sort arraysort. Зворотний MsgBox (масив (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & масив (3) _ & vbCrLf & масив (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

Категорія: