[小技]ExcelVBAのパフォーマンス改善
2008 年 7 月 1 日
コメント 16,341 件
セルの値設定処理が大量にあってパフォーマンスが出ない場合は、
Cells(1, 1).Value = "foo" Cells(1, 2).Value = "bar" 'まだまだ続く... Cells(100, 26).Value = "zzz"
いったん2次元配列にしてRange.Value2に代入すると速い。
Dim values(99, 25) As Variant values(0, 0) = "foo" values(0, 1) = "bar" 'まだまだ続く... values(99, 25) = "zzz" Range("A1:Z100").Value2 = values
以上小技でした。