VBA Speedup

VBA高速化検証:Do~Loopステートメント

 繰り返し処理時に重宝するDo~Loopステートメントですが、「WhileとUntilに速度の差はあるのか」「WhileとUntilを記述する場所で、速さに違いがでるのか」疑問に思いました。
 そこで『Do~Loopステートメント』について検証テストを行いました。尚、Excel2003と2007で検証を行っています。


Do~Loopステートメントの検証

 下の表とグラフは、私のパソコン※でスピード検証テストを行った結果です。
 ※Vista / intel Core2 Duo / Excel2003,2007


結果

 ・Excel2003と2007では、ほぼ同様の結果であった
 ・While / Until はほぼ同様の結果であった
 ・While / Until ともDoの後ろより、Loopの後ろに記述する方が13~16ポイント高速であった


結果から

 Do~Loopを使用する場合は、While / Until どちらの使用でも Loop 後に記述する事が高速化のポイントです。最速は、Do ~ Loop While [条件式] なので、この形を適用できるものは、適用しましょう。

※今回のテストは私のパソコンのみの検証であり、どのような環境でも、同様の結果を保証するもの
 ではありません。

※Excelのバージョンで結果に違いが出る事が考えられます。


検証テストコードとファイル

 検証テストのコード ・・・ [ Code ]

 検証テストを行ったファイルです。興味の有る方は試してみて下さい。
  ・Excel97-2010 ・・・[Test_File]

Excel Tips for Teachers

Copyright (C) 2009- 坂江 保 All Rights Reserved.