2范围内的维数组

我在Excel工作表中的单元格B6:H14有文本数据。

一些行将有2个单元格的内容,而其他有4个,一些将有7个。我怎么复制这些2维数组? 我已经知道尺寸,所以我没有声明dynamic代码的尺寸。

我需要使用一个循环(我目前正在计划使用)?

还是有更简单/更优雅的方式?

假设你的电子表格看起来像这样

电子表格

有一个非常简单的方法来坚持在二维数组

 Dim arr as Variant arr = Range("B6:H14").Value 

将此数组打印回电子表格的最简单方法

 Sub PrintVariantArr() Dim arr As Variant arr = Range("B6:H14") Range("B16").Resize(UBound(arr, 1), UBound(arr, 2)) = arr End Sub 

或者你可以迭代/循环数组

 Sub RangeToArray() Dim arr As Variant arr = Range("B6:H14").Value Dim r As Long, c As Long r = 16 c = 2 Dim i, j For i = LBound(arr, 1) To UBound(arr, 1) For j = LBound(arr, 2) To UBound(arr, 2) Cells(r, c) = arr(i, j) c = c + 1 Next j c = 2 r = r + 1 Next i End Sub 

而你的数组打印回电子表格

结果