Не совсем понятно, что вы хотите сделать, но ...
Если вам нужна коллекция, почему бы не использовать объект коллекции VBA?
Dim myRanges as New Collection
Collection.Item может быть любым объектом, включая Range.
Объект Range не содержит данных ; он содержит ссылку на ячейки листа. Если вы хотите, чтобы содержимое Range содержало в вашей коллекции, вам нужно будет скопировать их на рабочий лист и обратно.
Как и в Java, ваши переменные VBA эфемерны, будь то в массиве или в коллекции. Если вы хотите закрыть файл и иметь данные там при повторном его открытии, вы должны поместить его в ячейки таблицы. Рабочие листы - ваш постоянный механизм.
Я собираюсь сделать большой прыжок здесь, так что, если я далеко, игнорируйте меня. То, что вы ищете, предлагает создать отдельный лист в качестве «базы данных», заполненный объектами List / Table, содержащими ваши необработанные данные. Перед этим находится ваш «пользовательский лист», где вы делаете интересные вещи, ссылаясь на данные в листе базы данных. Назовите все.