При добавлении диапазонов к массиву или диапазонам вывод всего массива в новый диапазон приводит к пустым ячейкам, если не транспонирован - PullRequest
0 голосов
/ 17 октября 2019

Я создаю некоторый код, который требует от меня многократной компиляции одного диапазона значений (где значения этого диапазона обновляются с помощью цикла), но кажется, что когда я сохраняю этот конкретный диапазон в определенный массив и пытаюсь затем вывестирезультирующий массив находится в другом диапазоне, выходные данные полностью пустые.

Ниже приведен тестовый пример аналогичной ситуации, за исключением цикла итерации. Вместо этого он работает с небольшой таблицей случайных чисел 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

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...