Set sh = Sheets("Лист1")
Set Result0 = Range(sh.Cells(1, 1), sh.Cells(1, 1)) 'Type Variant/Object/Range, Value "Текст1"
Set Result1 = Range(sh.Cells(1, 1), sh.Cells(2, 1)) 'Type Variant/Object/Range
Проблема у меня в том, что, вроде бы, применяю свойство Range единообразно. Разница в том, что в случае Result0 исходный диапазон составляет одну ячейку, а в случае Result1 ячеек две.
Я хотел бы перебрать результат в цикле. Пусть ячейка одна, но начало цикла будет совпадать с его концом, в результате будет одна итерация. Но в Result0 располагается как бы значение. И я никак не могу придумать, как можно в цикле перебрать содержимое этих обоих из этих объектов Range.
Применил метод Application.Transpose к обоим результатам. И вот здесь уже заметна разница. https://d.radikal.ru/d41/1806/82/bf44fb2560fa.png Разница в том, что в случае с TransposedResult0 я не могу перебрать результат в цикле. А TransposedResult1 - вполне позволяет обратиться по индексу (TransposedResult1(1), TransposedResult1(2)).
Помогите, пожалуйста, добиться такого же результата для исходного диапазона в одну ячейку.
Sub test()
Dim result1 As Range, result0 As Range
Dim rng As Range
With Sheets("Лист1")
Set result0 = .Range(.Cells(1, 1), .Cells(1, 1)) 'Type Variant/Object/Range, Value "Òåêñò1"
Set result1 = .Range(.Cells(1, 1), .Cells(2, 1)) 'Type Variant/Object/Range
End With
' собственно циклы по диапазонам
For Each rng In result0
Debug.Print rng.Address
Next rng
For Each rng In result1
Debug.Print rng.Address
Next rng
End Sub
"Все гениальное просто, а все простое гениально!!!"