2次元配列はシートだけでなくリストボックスなどでもよく使います。
そこで今回はできるだけ簡単にループを使わないで一気にシートへ書き込める方法を紹介します。
Cells(1, 1).Resize(UBound(var, 1), UBound(var, 2)).Value = var
ポイントはVariant変数「var」の行の最大値、列の最大値を取得し、それをResizeで使用する点です。
Sub Variant型の配列をシートに出力()
Dim var As Variant
var = Worksheets(1).Cells(1, 1).CurrentRegion.Value
Worksheets(2).Cells(1, 1).Resize(UBound(var, 1), UBound(var, 2)).Value = var
End Sub
開始インデックスに注意
Variant型の配列に入れるときに、インデックスが0から始まる場合と1から始まる場合があるので注意です。
気を付けて「ubound(var,1)+1」しておかないと1行(1列)少ない値が出力されます。