ExcelVBA:プログラムの高速化 その4

今回はExcelVBAの高速化の第4弾です。
第4弾は「配列を使う」です。

例えば下図のようなセル範囲A1:C6の商品マスタがあります。
E列にコードが入力されており、対応する品名をF列に表示させたい場合の例です。

E列には10001行目まで10000件分コードが入力されています。
以下のような繰り返し処理内にVlookup関数を使った記述で品名を表示させることができます。

これを配列を使った書き方に変更すると以下のようになります。

どのくらい実行速度に違いが出るかというと、それぞれ5回実行してみた結果です。
単位は秒です。

Test1Test2
1回目0.85156250.3046875
2回目0.85156250.28125
3回目0.83593750.28125
4回目0.8593750.28125
5回目0.843750.2890625

Test2の配列を使用した記述の方が格段に速いのが確認できます。
Test1の方法もVlookup関数を使用した方法で十分早い書き方です。ただセルに10000回、対応する品名を代入しています。
一方、Test2は配列を使って代入は1回だけです。これが速度の違いになります。

このように配列を上手く使うと仕事で使っているコードも改善できる点があると思います!

最新情報をチェックしよう!