配列にデータを入力するこのコードがあります
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("G10:G14")
For Each myCell In Rng
ReDim Preserve arr(i)
arr(i) = myCell
i = i + 1
Next myCell
ActiveSheet.Range("H10:H14") = arr()
End Sub
ここで、ウォッチ ウィンドウの値が読み込まれたものであることがわかります。
ただし、配列をワークブックに追加し直すと、配列の最初の要素のみが貼り付けられます。
配列をループすることなく、配列全体をワークシートに貼り付けることは可能ですか?
Sorceri からのリンクを見た後、.Transpose 関数を使用するようにコードを修正したので、修正したコードは次のようになります。
Sub rangearray()
Dim arr() As Variant
Dim Rng As Range
Dim myCell As Range
Dim i As Integer
Set Rng = ActiveSheet.Range("A1:A5")
For Each myCell In Rng
ReDim Preserve arr(i)
arr(i) = myCell
i = i + 1
Next myCell
ActiveSheet.Range("B1:B5") = WorksheetFunction.Transpose(arr)
End Sub