VBA Speedup

VBA高速化検証:配列変数

 配列変数とは、変数に番号をつけ、1元的に管理するものです。配列変数のメリットは、変数を数字で指定できることであり、そうすることで関連する値等を、同じ名前でまとめて管理できます。
 今回は、配列変数は高速化の観点ではどうなのかと疑問を持ったため、検証を行いました。尚、Excel2003と2007で検証を行っています。


配列変数

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


結果

 ・Excel2003と2007では、2007の方が若干高速であった
 ・1次元配列であっても配列を使用しないケースと比較し2.9倍程処理に時間がかかっている
 ・1次元・2次元・3次元では、処理の時間は一定の割合で増加している


結果から

 非常に重宝する配列変数ですが、高速化の観点からは、メリットはないようです。
 2次元以降は、一定の割合で処理時間が増加していくようなので、多次元の配列の使用は控えることも、高速化のポイントです。

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

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


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

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

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


Excel Tips for Teachers

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