Передача массива в столбец Exel
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
'Открыть новую книгу Excel
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
'Создать массив с 3 столбцами и 100 строками
Dim DataArray(1 To 100) As Single
Dim r As Integer
For r = 1 To 100
DataArray(r) = Rnd() * 1000
Next
'Добавить заголовки в строку 1
Set oSheet = oBook.Worksheets(1)
oSheet.Range("A1:C1").Value = Array("Order ID", "Amount", "Tax")
'Передать массив на лист, начиная с ячейки A2
oSheet.Range("A2").Resize(100, 1).Value = DataArray
'Сохранить книгу и закрыть Excel
oBook.SaveAs "C:\Book1.xls"
oExcel.Quit
В результате столбец А (все 100 ячеек) заполняется ОДНИМ (первым) значением массива.
Если переписать строку:
oSheet.Range("A2").Resize(100, 1).Value = DataArray
на
oSheet.Range("A2").Resize(1, 100).Value = DataArray
То СТРОКА заполняются РАЗНЫМИ значенииями.
Если массив сделать двухмерный, то столбцы заполняются правильно.
Где грабли?
Спасибо.