Excel VBA Collection Object

Мы видели, что словарь VBA и массив VBA имеют сходную связь с VBA Collection. В VBA Collection мы можем создать собственную коллекцию группы и предоставить элемент и ключ для получения значения, хранящегося в нем. Принимая во внимание, что в словаре VBA мы использовали для создания самого словаря в VBA, который создает наш собственный словарь, который имеет определение слова и значения, как и обычный словарь. И то же самое в массиве VBA, где мы использовали для создания объекта коллекции с ограниченным размером.

Преимущество VBA Collection заключается в том, что нам не нужно увеличивать размер любого объекта, который мы здесь определяем. Какой бы объект не был создан в VBA Collection, он не имеет никаких ограничений. И нам не нужно изменять размер какого-либо объекта, как будто мы думаем, что это требуется.

Наряду с созданием объекта Add Collection, мы также можем использовать объекты Count, Item и Remove collection.

Как создать объект коллекции в Excel VBA?

Ниже приведены различные примеры создания объекта коллекции в Excel с использованием кода VBA.

Вы можете скачать этот шаблон VBA Collection Excel здесь - Шаблон VBA Collection Excel

Коллекция Excel VBA - Пример № 1

В этом примере мы увидим, как создать коллекцию объектов в VBA. Для этого выполните следующие шаги:

Шаг 1: Перейдите в окно VBA, на вкладке меню «Вставка» выберите «Модуль», как показано ниже.

Шаг 2: Напишите подкатегорию VBA Collection с тем же именем, или мы можем выбрать любое другое имя в соответствии с нашим удобством.

Код:

 Sub Excel_Collection1 () End Sub 

Шаг 3: Теперь определите переменную как коллекцию с любым именем, как показано ниже.

Код:

 Sub Excel_Collection1 () Dim ColObject As Sub End Sub 

Мы можем выбрать любое слово, текст или имя для определения переменной, но рекомендуется сначала определить это в процессе выполнения функции.

Шаг 4: Установите определенную переменную как Новая коллекция. Это поможет в активации и установке уже определенного объекта как коллекции в новую коллекцию.

Код:

 Sub Excel_Collection1 () Dim ColObject As Set Collection ColObject = Новая коллекция End Sub 

Шаг 5: Мы видели в описании различные объекты коллекции как Add, Ite m, Count и Remove . Теперь мы будем использовать все эти объекты для хранения нового контента. Сначала, чтобы добавить, мы назначим ADD определенной переменной ColObject .

Код:

 Sub Excel_Collection1 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add End Sub 

Шаг 6: Теперь в пункте ITEM мы выберем порядковый номер, который может быть любым. Здесь мы выбираем его как 1.

Код:

 Sub Excel_Collection1 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add Item: = 1, End Sub 

Шаг 7: В Синтаксисе VBA Collection нам нужно ввести КЛЮЧ, для которого мы можем назначить ПУНКТ. Здесь также мы можем выбрать все, что будет добавлено в репозиторий VBA. Мы рассмотрели слово Ньютон здесь.

Код:

 Sub Excel_Collection1 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add Item: = 1, Key: = "Newton" End Sub 

Шаг 8: Мы можем пропустить часть синтаксиса «До» и «После». Теперь после этого мы назначим ключ переменной объекта Collection.

Код:

 Sub Excel_Collection1 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub 

Шаг 9: Используйте окно сообщения, чтобы увидеть значение, хранящееся в переменной объекта Collection.

Код:

 Sub Excel_Collection1 () Dim ColObject как набор сбора ColObject = новая коллекция ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub 

Шаг 10: Теперь скомпилируйте код и запустите его, нажав кнопку Play, расположенную под строкой меню.

Мы получим сообщение как 1. Что означает, что для ключа Ньютон Item находится в 1- й позиции.

Коллекция Excel VBA - пример № 2

Есть другой метод или способ, которым мы можем видеть, какой номер элемента назначен какому Ключу. Мы также можем подсчитать количество ключей, заполненных в объекте VBA Collection. Этот процесс очень похож на процесс, который мы видели в примере 1. Для этого выполните следующие шаги:

Шаг 1: Запишите подкатегорию VBA Collection, как показано ниже.

Код:

 Sub Excel_Collection2 () End Sub 

Шаг 2: Рассмотрим ту же переменную, которую мы видели в примере 1, в качестве Collection и установите ее в качестве New Collection в качестве ColObject.

Код:

 Sub Excel_Collection2 () Dim ColObject As Set Collection ColObject = Новая коллекция End Sub 

ColObject - единственная переменная здесь в этом примере, с помощью которой мы увидим количество или последовательность определения Item и Key.

Шаг 3: Теперь определенному объекту Collection назначьте функцию ADD и выберите любое значение по вашему выбору. Здесь мы выбираем 10.

Код:

 Sub Excel_Collection2 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add 10 End Sub 

Шаг 4. Аналогичным образом добавьте еще 2 или 3 объекта коллекции, как показано ниже.

Код:

 Sub Excel_Collection2 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub 

Шаг 5: Чтобы узнать количество элементов, используемых в объекте коллекции, мы будем использовать отладочную печать.

Код:

 Sub Excel_Collection2 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub 

Основным плюсом использования отладочной печати здесь вместо окна сообщения является то, что мы сможем получить счетчик вместе с ошибкой, если она есть. Для любой ошибки мы получим вывод в виде нуля, а для правильного процесса мы получим фактическое значение.

Шаг 6: Чтобы получить счетчик переменной ColObject, мы будем использовать функцию Count, которая является частью встроенной функции в списке.

Код:

 Sub Excel_Collection2 () Dim ColObject As Set Collection ColObject = Новая коллекция ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub 

Шаг 7: в меню « Вид» выберите окно «Немедленно», как показано ниже. Или мы можем использовать горячую клавишу Ctrl + G, чтобы получить это окно.

Это место, где мы будем видеть вывод, используя отладочную печать.

Шаг 8: Теперь скомпилируйте код и запустите его, нажав на кнопку Play, расположенную под строкой меню. В ближайшем окне мы увидим, что общее количество коллекций объектов равно 3 .

Теперь, чтобы проверить, является ли полученный счет правильным или нет, мы удалим одну строку объекта коллекции или преобразуем ее в текст, поместив апостроф ('), и снова запустим код.

Мы получим обновленное количество как 2, которое является количеством объекта коллекции 10 и номером 20 элемента. И мы можем заметить, что третья строка объекта коллекции окрашена в зеленый цвет, и это является признаком получения кода, преобразованного в текст.

Плюсы из коллекции Excel VBA

  • Нам не нужно изменять размер объекта, который мы определили.
  • Мы можем использовать различные объекты Collection, встроенные в Excel VBA Collection. Эти объекты не видны в других функциях, таких как словарь VBA или массив VBA.
  • С помощью VBA Collection мы можем создать базу данных клиентов или продуктов любого типа.

То, что нужно запомнить

  • Рекомендуется использовать отладочную печать вместо окна сообщений. Таким образом, мы сможем увидеть ошибку и исправить ее.
  • С помощью VBA Collection мы можем создавать различные типы объектов и добавлять данные любого размера.
  • В функции объекта Item мы можем определить любое число согласно нашему выбору. Это может быть код товара, последовательность или цена, которую мы хотим увидеть.
  • Сохранение файла в Macro enable excel позволит нам сохранить код для дальнейшего использования.

Рекомендуемые статьи

Это руководство к VBA Collection. Здесь мы обсудим, как создать объект коллекции в Excel с использованием кода VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Руководство по использованию длины массива VBA
  2. Как рассчитать диапазон в Excel?
  3. Обучающие программы по клеткам VBA
  4. PowerPivot в Excel

Категория: