Копирование массива в ячейки - PullRequest
3 голосов
/ 25 октября 2011

В настоящее время у меня есть массив данных, которые я хотел бы передать в ячейку G2 полностью, пока весь массив не будет исчерпан.В моей текущей электронной таблице есть данные в G1, но нет данных.

У меня есть следующий код, но он не работает точно, потому что я получаю сообщение об ошибке:

Определено приложением или определено объектомошибка.

Помочь в решении этой проблемы было бы здорово.Буду признателен, если вы скажете мне, что не так с моим кодом и как его исправить, вместо того, чтобы предоставить мне альтернативную формулировку.

For i = 1 to nFlights
     With Worksheets("Q2").Range("G1")
           .End(xlDown).Offset(1, 0) = Origin(i)
    End With
Next

Ответы [ 2 ]

8 голосов
/ 26 октября 2011

Я знаю, что вы не хотели, чтобы вам показывали код, но ваш цикл отличается от подхода:

Dim arr
arr = Array("one","two","three","four")

ActiveSheet.Range("G2").Resize((UBound(arr) - LBound(arr)) + 1, 1).Value = _
                                  Application.Transpose(arr)
0 голосов
/ 25 октября 2011

Свойство offset просто ссылается на ячейку (в вашем случае), расположенную ниже ячейки, которая является основой вызова ("G1").Чтобы скопировать весь массив orgin в столбец G на листе, попробуйте это:

Dim i As Integer
i = 2

For Each val As String In Origin
    With Worksheets("Q2")
       .Cells(i, 7).Value = Origin(i)
       i = i + 1
    End With
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...