在 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 除了我的所有其他版本可能是必要的。
我想在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 除了我的所有其他版本可能是必要的。