我最近一直在研究数组以更快地将数据写入 Excel 以生成报告。
我遇到过这个,VBA 将 3 维数组粘贴到 sheet中,它似乎适合我想做的事情。但是,我只想在一 (1) 张纸上完成。
Dim arr(1 To 3)
Dim a As Integer
Dim x As Integer
Dim y As Integer
For a = 1 To 3
ReDim inner(1 To 5, 1 To 5)
'don't worry...makes a copy
arr(a) = inner
For x = 1 To 5
For y = 1 To 5
arr(a)(x, y) = a * x * y
Next
Next
Sheets(a).Select
Range(Cells(1, 1), Cells(5, 5)) = arr(a)
Next
是否可以在不循环的情况下将arr输出到 excel 范围内?就像是:
Range(Cells(1, 1), Cells(5, 5*3)) = arr
预期输出:
1 1 1 1 1 - 2 2 2 2 2 - 3 3 3 3 3
1 1 1 1 1 - 2 2 2 2 2 - 3 3 3 3 3
1 1 1 1 1 - 2 2 2 2 2 - 3 3 3 3 3
1 1 1 1 1 - 2 2 2 2 2 - 3 3 3 3 3
1 1 1 1 1 - 2 2 2 2 2 - 3 3 3 3 3
我试着这样做买了#N/A
我的细胞作为输出