4
我在單元格B6:H14
的Excel工作表中有文本數據。範圍內的二維數組
一些行將有2個單元格的內容,而另一些有4個,一些將有7個。我如何將它們複製到2維數組?我已經知道尺寸,所以我沒有聲明動態代碼的尺寸。
我是否需要使用循環(目前我正在計劃使用)?
還是有更容易/更優雅的方式?
我在單元格B6:H14
的Excel工作表中有文本數據。範圍內的二維數組
一些行將有2個單元格的內容,而另一些有4個,一些將有7個。我如何將它們複製到2維數組?我已經知道尺寸,所以我沒有聲明動態代碼的尺寸。
我是否需要使用循環(目前我正在計劃使用)?
還是有更容易/更優雅的方式?
假設您的電子表格看起來有點像這樣
有一種非常簡單的方法,堅持在一個二維數組
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
而且你的陣列打印回電子表格
我downvoted這是你似乎沒有請求幫助之前嘗試新鮮事物。有一些現有的答案,如http://stackoverflow.com/q/13663370這將有所幫助。 – brettdj
@brettdj實際上,您鏈接的確切問題是詢問如何將二維數組輸出到一個範圍內 - 這個問題是關於如何做到的。 –
@RichardLeMesurier這個問題展示瞭如何將一個範圍放入一個數組,處理它並將其轉儲回一個範圍 - 也就是說,它的範圍都是array(這個問題被問到)以及數組的範圍。這與Mehow/VBA4All相同/這是一個愉快的回答 – brettdj