我在Excel工作表的单元格B6:H14
中有文本数据。
有些行将拥有2个具有内容的单元格,而其他行则有4个或7个。我如何将它们复制到一个二维数组中?我已经知道了它们的维度,所以我可以接受不声明动态代码的维度。
我需要使用循环(我目前计划使用)吗?
还是有更简单/更优雅的方法?
我在Excel工作表的单元格B6:H14
中有文本数据。
有些行将拥有2个具有内容的单元格,而其他行则有4个或7个。我如何将它们复制到一个二维数组中?我已经知道了它们的维度,所以我可以接受不声明动态代码的维度。
我需要使用循环(我目前计划使用)吗?
还是有更简单/更优雅的方法?
假设您的电子表格看起来像这样
有一种非常简单的方法可以将其放入2D数组中
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
然后将您的数组打印回电子表格