Если добавить в коллекцию объект Cells, то при обращении к элементу коллекции получим объект Range: [vba]
Код
Dim TestCol As New Collection TestCol.Add (Cells(1, 1)) Debug.Print (TypeName(TestCol(1)))
Range
[/vba] Но если добавить в коллекцию объект Range, то при обращении к элементу коллекции получим не ячейку, а значение, которое в этой ячейке хранится: [vba]
Код
Dim TestCol As New Collection Dim Add As String Add = Cells(1, 1).Address Debug.Print (TypeName(Range(Add)))
[/vba] Почему это происходит? Как мне добавить и извлечь из коллекции объект Range? Добавление: можно обойти нежелательное поведение таким образом, если точно знать, что в диапазоне всего одна ячейка: [vba]
[/vba] Что делать, если заранее неизвестно, одна ячейка будет в Range или несколько, непонятно...
Если добавить в коллекцию объект Cells, то при обращении к элементу коллекции получим объект Range: [vba]
Код
Dim TestCol As New Collection TestCol.Add (Cells(1, 1)) Debug.Print (TypeName(TestCol(1)))
Range
[/vba] Но если добавить в коллекцию объект Range, то при обращении к элементу коллекции получим не ячейку, а значение, которое в этой ячейке хранится: [vba]
Код
Dim TestCol As New Collection Dim Add As String Add = Cells(1, 1).Address Debug.Print (TypeName(Range(Add)))
[/vba] Почему это происходит? Как мне добавить и извлечь из коллекции объект Range? Добавление: можно обойти нежелательное поведение таким образом, если точно знать, что в диапазоне всего одна ячейка: [vba]