【发布时间】:2018-08-17 16:30:07
【问题描述】:
我正在尝试使用数组方法将工作表数据范围从一个位置写入另一个位置,以便稍后尝试数组操作。该程序运行良好。
Sub Array2Range5()
Dim Directory As Variant
Directory = Range("A30:D39").Value2
For i = LBound(Directory, 1) To UBound(Directory, 1)
For j = LBound(Directory, 2) 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
End Sub
以下出于相同目的的程序给出了运行时错误“9”。以下代码部分中的下标超出范围。
Worksheets("List").Range(Worksheets("List").Cells(i + 1, j + 1), Worksheets("List").Cells(i + 1, j + 1)) = Directory(i, j)
我无法纠正,程序如下。
Sub Array2Range6()
Dim Directory As Variant
Directory = Range("A30:D39").Value2
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
End Sub
我的问题是这些行的语法是否错误。如果是这样,类似行的正确语法应该是什么
For i = 0 To UBound(Directory, 1)
For j = 0 To UBound(Directory, 2)
任何帮助将不胜感激。
【问题讨论】: