Excel VBA ArrayList

Структуры данных используются для хранения серии данных на языках программирования. Это привязывается к памяти, а не к адресу. ArrayList является одной из структур данных в Excel. По сравнению с обычными массивами в Excel ArrayList является динамическим. Поэтому не требуется первоначальное объявление размера. ArrayList не является частью VBA, он связан с внешней библиотекой, которую можно использовать с VBA.

ArrayList может быть определен как список соседней области памяти. Где значения извлекаются с использованием номера индекса. Список начинается с номера индекса «0», первый элемент будет вставлен в индекс «0», за остальными следует 1, 2, 3 и т. Д. ArrayList предлагает множество встроенных операций: сортировка, добавление, удаление., реверс и т. д. некоторые из них.

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

Чтобы использовать ArrayList в VBA, он должен включать библиотеку mscorlib.dll, которая поставляется с .NET Framework .

  • Нажмите 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 () Конец Sub 

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

Код:

 Private Sub arraylist1 () Dim alist As ArrayList End Sub 

Шаг 3: Поскольку это объект для его использования, вы должны создать экземпляр ArrayList. Установите новый экземпляр для этого объекта.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = Новая ArrayList End Sub 

Шаг 4: Теперь, используя свойство «Добавить» ArrayList, добавляем значения в ArrayList. Где список добавляется в значения индекса в порядке 0, 1, 2, 3 и т. Д.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = Новый ArrayList alist.Добавить "192" 'index (0) alist.Добавить "168"' index (1) alist.Добавить "1" index (2) alist.Add «240» указатель (3) End Sub 

Шаг 5: Чтобы проверить, были ли значения добавлены в список, давайте распечатаем значения массива с помощью окна сообщения. Для печати значений каждый индекс печатается, так как значения хранятся в этих разделах.

Код:

 Private Sub arraylist1 () Dim alist As ArrayList Set alist = Новый ArrayList alist.Добавить "192" 'index (0) alist.Добавить "168"' index (1) alist.Добавить "1" index (2) alist.Add "240" 'index (3) MsgBox ("\\" & alist (0) & "." & Alist (1) & "." & Alist (2) & "." & Alist (3)) End 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: Объявите объект 'arraysort' из ArrayList. Используйте этот объект для добавления и сортировки значений в ArrayList.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList End Sub 

Шаг 3: Аналогично первому примеру необходимо создать новый экземпляр объявленного объекта. Установите этот экземпляр как новый ArrayList.

Код:

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

Шаг 4: Теперь, используя метод Add, вставьте элементы в ArrayList. Который не обладает каким-либо порядком по значениям. Случайно вставил некоторые значения в список.

Код:

 Sub arraysort1 () Dim arraysort As ArrayList Set arraysort = New ArrayList arraysort.Add "13" arraysort.Add "21" arraysort.Add "67" arraysort.Add "10" arraysort. Sub 

Шаг 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: Теперь к этому списку примените свойство sort ArrayList. Используйте метод сортировки для сортировки вставленного списка. По умолчанию свойство sort сортирует список значений в порядке возрастания.

Код:

 Sub arraysort1 () Dim Arraysort As ArrayList Set .Sort MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & arraysort (5) End Sub 

Шаг 8: Нажмите F5 или кнопку Run под 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.Reverse MsgBox (arraysort (0) & vbCrLf & arraysort (1) _ & vbCrLf & arraysort (2) & vbCrLf & arraysort (3) _ & vbCrLf & arraysort (4) & vbCrLf & end) Sub 

После применения обратного метода 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

Категория: