VBA Speedup

VBA高速化検証:定数の宣言場所の違い

 変数では、宣言場所の違いにより、速度に差がありました。それでは、定数はどうなのか。
 ここでは、「定数の宣言場所の違い」に焦点をあて、Long型、String型、Boolean型で、宣言場所の異なる3つの定数について、それぞれ検証テストを行いました。尚、Excel2003と2007で検証を行っています。


定数の宣言場所の違いによる値代入速度検証テスト

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

◆Long型 Test1~3は、定数の宣言場所に違いがあります。宣言場所は下記の通りです。

【結果】
 ・Excel2003と2007では、ほぼ同様の結果であった
 ・宣言場所の違いによる速度の違いは見られなかった

◆String型

【結果】
 ・Excel2003と2007では、2007が1ポイントほど高速であった
 ・宣言場所の違いによる速度の違いはほとんど見られなかった

◆Boolean型

【結果】
 ・Excel2003と2007では、ほぼ同様の結果であった
 ・宣言場所の違いによる速度の違いは見られなかった


結果から

 変数は宣言場所の違いでコード実行速度に違いが出たため、定数も同様ではないかと予想したが、定数はどこに宣言しても、速度はほぼ同じ結果でした。宣言専用のモジュールを作成し、Public変数とまとめて宣言するのも1つの方法だと思われます。

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

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


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

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

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

Excel Tips for Teachers

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