0
Я пытаюсь получить данные, хранящиеся в коллекции в VBA. Я не очень уверен, как получить данные. Это дает мне ошибку несоответствия типа.Извлечение данных из коллекции в VBA
Мой код выглядит следующим образом:
Set col = New Collection
col.Add BGN_arr, "BGN"
col.Add CBBT_arr, "CBBT"
Dim curr_arr() As Variant
Set curr_arr = col("BGN")
Пробовал это так:
Set curr_arr = col.Item ("BGN")
нужны некоторые рекомендации по этому вопросу.
'curr_arr' в настоящее время массив Variant. Попробуйте сделать его вариантом (т. Е. 'Dim curr_arr As Variant' без круглых скобок). Если это сработает, я объясню, почему. – Heinzi
Предполагая, что BGN_arr - это еще один массив, просто удалите 'set' - вы не имеете дело с ссылками на объекты –
Коллекции VBA - это, по сути, словарные словарные слова. Хотя для них могут быть некоторые допустимые варианты использования, способ, которым вы, похоже, хотите их использовать, довольно похож на словарь. Если у вас нет веских причин, чтобы избежать их, я предлагаю добавить ссылку на Microsoft Scripting Runtime в ваш проект и вместо этого использовать словари. Объекты словаря имеют полезные методы, которые не имеют аналогов в объектах Collection (например, что-то простое, как проверка наличия ключа). –