VBAのスピードアップの続き

 処理が遅い原因は他にもあり(というかこちらの影響の方が大きかった)、要は処理の終わったレコードを一つずつセルに書き込みをしていったのだが、これがまずかったようだ。そこで処理が終わったレコードを一旦配列で記憶させて、最後に一度に書き込むようにした。
こんな感じかな
Sub test()
Dim a(10,1) as variant
For b=0 to 10
	a(b,0)=b
	a(b,1)=b*2
Next
Range(cells(1,1),cells(b,2))=a
End Sub
 …マァこんな事は普段からやっている人たちには常識的なことなんだろうが、本人用備忘録ということで。配列の書き出し方なんぞFor~Next文使うんだと思ってたわ。

コメントを残す

メールアドレスが公開されることはありません。