在 excel 中插入多维数组

Insert multidimensional array in excel

我想在Excel中插入数据。作为数据源,我有一个多维数组: 说,我有这个

dim myArray(5, 3)
for row = 0 to 4
    for col = 0 to 2
        myArray(row, col) = row * col
    next
next

如何将这些数组插入 excel 的单元格索引 [0, 0]

结果

  A B C
1 0 0 0
2 0 1 2
3 0 2 4
4 0 3 6
5 0 4 8

Excel 数组(包括单元格索引)是从 1 开始的,而不是像 VBScript 数组那样从 0 开始的,即没有单元格索引 [0, 0]。但是,由于偏移量是常量,因此只需将 VBScript 数组的索引加 1 即可处理:

for row = 0 to UBound(myArray, 1)
    for col = 0 to UBound(myArray, 2)
        xl.Workbooks(1).Sheets(1).Cells(row+1, col+1) = myArray(row, col)
    next
next
Sub ertdfgcvb()
Dim myArray(5, 3)
For Row = 0 To 4
    For col = 0 To 2
        myArray(Row, col) = Row * col
    Next
Next
Dim rng As Range
Set rng = Range("A1")
For i = LBound(myArray, 1) To UBound(myArray, 1)
    For j = LBound(myArray, 2) To UBound(myArray, 2)
        rng.Offset(i, j) = myArray(i, j)
    Next
Next
End Sub

或者懒惰的人:

Option Explicit

Dim a(4, 2) ' Ubounds
Dim r, c
For r = 0 To UBound(a, 1)
    For c = 0 To UBound(a, 2)
        a(r, c) = r * c
    Next
Next

Dim oXls : Set oXls = CreateObject("Excel.Application")
Dim oWb  : Set oWb  = oXls.Workbooks.Add
oXls.Visible = True
oWb.Sheets(1).Range("A1:C5") = a
oXls.Quit

证据:

如遇问题:

根据 this(您必须自己搜索更多最新信息)-

Range("a1:a10").Value = Application.WorksheetFunction.Transpose(myarray)

添加更多噪声(.Value、.Transpose)对于 Excel 除了我的所有其他版本可能是必要的。