Excelで大量のデータを、高速で読み書きする。

記事
IT・テクノロジー
 セルのデータを読み書きする場合、一般的には 次のようなコードが知られています。

Dim i as Integer
Dim j as Integer
Dim value( 16384, 64) as String 

'' 読出し
For I = 1 to 16384
    For j = 1 to 64
        value( i, j) = ActiveSheet.Cells(i, j) ''< 読出し
        ActiveSheet.Cells(I, j) = value(I, j) ''< 書込み
    Next
Next 

ですがこの方法だと、扱うデータが大量になると処理時間が 大幅に長くなる問題があります。

 そこで私は、実務でExcel VBAを使う中で、同じ量のデータを 高速で読み出したり/書き込んだりする手法を確立しました。

 上記のサンプルコードと同じ分量のデータで比較すると、

<従来の方法>
  ・読出し処理 8秒 (8000ミリ秒)
  ・書込み処理 32秒 (32000ミリ秒)

<私の方法>
  ・読出し処理 0.3秒 (300ミリ秒)
  ・書込み処理 7.9秒 (7900ミリ秒)

と、処理時間を大幅に短縮することが可能です。

お困りでしたら、是非、お声がけください。





サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す