HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > セルにデータを一括挿入する

セルにデータを一括挿入する|Excel VBA

セル操作関連のテクニック

セルにデータを一括挿入する

(Excel 97/2000/2002/2003/2007/2010/2013/2016)

配列を使い、セルにデータを一括挿入することができます。
データの数が多い場合は、セルに1つずつ値を代入するより高速です。

行方向(A1〜J1など)のセルに値を格納するには、1次元配列から一括挿入できますが、
列方向(A1〜A10など)のセルの場合は2次元配列を使用します。
配列の要素は0から始まり、要素数は格納するセルの数だけ必要です。
次のサンプルは、100個のデータをセルA1:A100に一括挿入します。

Sub Sample()
    Dim inpData() As Variant
    Dim i As Long
    
    'データ100個分の要素を用意する
    ReDim inpData(99, 0)
    
    For i = 0 To 99
        inpData(i, 0) = "データ" & i
    Next i
    
    Range("A1").Resize(UBound(inpData) + 1, 1).Value = inpData  '--(1)
End Sub

For...Nextステートメントで配列に格納したデータを、(1)で一括してセルに代入します。
このとき、代入先のセル範囲の大きさと、配列の大きさを一致させるのがポイントです。
配列の要素数の上限値をUBoud関数で取得し、Resizeメソッドと組み合わせて指定します。
配列の要素番号が0から始まるため、UBound関数の戻り値に1を加える点に気を付けてください。