- ベストアンサー
excel vba 配列の一部 一気に書き出し
Excel VBAの配列の一部分をワークシートのセルに一気に書き出す方法を教えてください。 Dim A(12000,100) as double があります。 この中の A(1 ~ 12000 , 10) を ワークシートの cells(11,3) へ一気に縦方向に書き出したいのですが(B11から縦方向)、やり方を教えていただけないでしょうか。 cellsとしているのは、あとで 11,3 などを変数で指定したいためです。 doubleでダメな場合は、variantでもOKです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
配列の宣言を Dim A(1 To 12000, 1 To 100) As Double にして, Cells(11, 2).Resize(UBound(A, 1), 1) = Application.Index(A, 0, 10) で書き出せばいいんじゃないの?
その他の回答 (1)
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答No.1
>B11から縦方向 という事であれば、cells(11,3)ではなくCells(11,2)になります。 それで御質問の件ですが、最も簡単なやり方はFor~To~Nextを使った方法です。 まず、 Dim A(12000,100) as double の所を Dim A(12000,100) as double, i As Long に変更した上で、 配列を書き出す部分を次の様にして下さい。 For i = 1To 12000 Cells(11,2).Offset( i -1 ).Value = A( i,100) Next i 尚、Cells(11,2).Offset( i -1 )の代わりにCells(10+i,2)としても構いません。