VBA高速化テクニック


2018年12月に、すべて検証し直して、コンテンツも新しくしました。本コンテンツは1995年頃パソコン通信「NIFTY-Serve」に書いたものがベースになっていますが、パソコンの性能が向上したことによって、理論的には遅いけど実際には影響ないということもあります。そのへんを検証し直しました。

また「VBA高速化"テクニック"」と言っていますが、本来であれば"テクニック"以前の問題が多いです。たいてい私に「田中さん、マクロが遅いので見てください」と質問されるときは「そもそも、なんでそんなコード書くの?」というマクロばかりです。まずは「 無駄なSelectをしない」「 余計なことはしない」あたりを、よ~く注意してください。それだけで十分高速になります。さらに、マクロ全体の構成や"考え方"も検討してください。プランAでは遅かった。じゃ、プランBでやってみよう。それでも遅かったらプランCで。というように、どれだけ多くの"選択肢"を持っているかが高速化には重要です。よろしいですか?VBAが遅いのではありません。あなたのコードが遅いんです。

なお、今回はGetTickCountというAPIを使って、ミリ秒単位で速度を計測しています。