我正在尝试将大小为 183x6 的二维数组分配给新工作表,并使用数组的值填充 A1:G182 中的空白单元格。作为引用,我的数组称为“Directory”,我想要填充的空表称为“List”。
我尝试了两种不同的方法,一种是通过将指定范围显式分配给数组,如下所示:
Worksheets("List").Range(Cells(1,1), Cells(UBound(Directory, 1) + 1, UBound(Directory, 2) + 1)) = Directory
并且还尝试迭代数组中的每个条目:
For i = 0 To UBound(Directory, 1)
For j = 0 To UBound(Directory, 2)
Worksheets("List").Range(Cells(i + 1, j + 1), Cells(i + 1, j + 1)) = Directory(i,j)
Next j
Next i
在这两种情况下,我都会收到错误:
Run-time error '1004':
Application-defined or object defined error.
你知道会发生什么吗?感谢您的帮助。
最佳答案
尝试:
Worksheets("List").Range("A1").Resize(UBound(Directory, 1) + 1, UBound(Directory, 2) + 1).Value = Directory
或者:
For i = 0 To UBound(Directory, 1)
For j = 0 To UBound(Directory, 2)
Worksheets("List").Range(Worksheets("List").Cells(i + 1, j + 1), Worksheets("List").Cells(i + 1, j + 1)) = Directory(i,j)
Next j
Next i
关于arrays - Excel VBA - 将二维数组的值分配给单元格范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34733061/