トップ > 玄人向け > VBA高速化検証:For~Nextステートメント[2]

VBA高速化検証:For~Nextステートメント[2]   2011.09.21

繰り返し処理時に使用するFor ~ Nextステートメントの検証の続きです。
ここでは「カウンタ用変数の型の違いによる速度比較」と「カウンタ用変数に代入する数値(直接、定数、変数)の違いによる速度比較」の2種類の検証を行いました。尚、Excel2003と2007で検証を行っています。

カウンタ用変数の型の違いによる速度比較

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


結果

・Excel2003では、Integer型が21ポイント程高速であった
・Excel2007では、どちらの型もほぼ同じ結果となった


カウンタ用変数に代入する数値(直接、定数、変数)の違いによる速度比較

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


結果

・Excel2003と2007では、ほぼ同様の結果となった
・直接数値を書いたケースが最も高速であった


結果から

カウンタ用の変数はInteger型が良いようです。しかし、32767を超えるとオーバーフローしますので、注意が必要です。また、カウンタ用変数に代入する数値は、直接書き込む方が良いようです。

※今回のテストは私のパソコンのみの検証であり、どのような環境でも、同様の結果を保証するものではありません。
※Excelのバージョンで結果に違いが出る事が考えられます。


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

●検証テストのコード [Code]
●Excel97-2010 [Test_File] 検証テストを行ったファイルです。

前の記事:「For-Next[1]」 次の記事:「Do-LoopとFor-Next」

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.