Excel VBA
ExcelのVBAでセル書き込みが遅すぎるのを速くしたい
 
ExcelのVBAで大量のセルに値を書き込むとき Cells(Y, X) = "foo" というようにセルオブジェクトに対して一つずつ代入していく方法ではとてつもなく時間がかかることがある。 
このような処理を高速化するには、Variant変数にRangeオブジェクトを代入しておき、その変数に対して2次元配列でアクセスする。 
最後にその変数をRangeオブジェクトに対して代入すれば、数十倍程度の高速化が図れる。 
注意点は、最初に代入しておくRangeの範囲と最後に戻すときのRangeの範囲を同じにしておくことだ。 
これが食い違うとエラーになってしまう。 
 
 |