Вы создаете коллекцию Ranges
, а не коллекцию чисел или текстовых строк.
Если вы введете диапазон, (например, Range ("A1")) в коллекция, вы не замораживаете это. Если вы измените значение A1 на рабочем листе, то при вытягивании элемента это будет отражено:
Sub CollectionTest()
Dim col As Collection, rng As Range
Set col = New Collection
Range("A1").Clear
col.Add Range("A1")
Range("A1").Value = "x"
Set rng = col.Item(1)
MsgBox rng.Value
End Sub
. Поэтому вам следует собрать Value
s. а не самих 1012 *. 1013 *