Я создаю некоторый код, который требует от меня многократной компиляции одного диапазона значений (где значения этого диапазона обновляются с помощью цикла), но кажется, что когда я сохраняю этот конкретный диапазон в определенный массив и пытаюсь затем вывестирезультирующий массив находится в другом диапазоне, выходные данные полностью пустые.
Ниже приведен тестовый пример аналогичной ситуации, за исключением цикла итерации. Вместо этого он работает с небольшой таблицей случайных чисел 5x5, где код пытается добавить одну строку за раз в массив, а затем вывести массив ниже на той же самой таблице.
Интересно, что выполняется rngB = arr (1) работает, он просто выдаст диапазон только с первой строкой массива, вставленной 5 раз. Просто делать rngB = arr нет.
Public Sub Test_Array()
Dim arr(1 To 5) As Variant, arrT As Variant
Dim rng As Range, rngB As Range
Set rngB = Worksheets("Sheet1").Range("B6:F10")
For i = 1 To 5
Set rng = Worksheets("Sheet1").Range("B" & i & ":F" & i)
arr(i) = rng
Next i
' rngB = arr just gives blank cells as a result? The below double transpose seems to give me what I want.
arrT = Application.Transpose(arr)
rngB = Application.Transpose(arrT)
End Sub
Что я делаю не так?