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

今回はExcelVBAの高速化についてご説明します。
マクロ/VBAを利用している中で処理速度が遅いと感じられたことはないでしょうか?

原因は処理内容によりますが、そこまで高度なプログラムでなければほとんどの場合は書き方による問題が大部分を占めていることが多いです。

例えば上記コードのtest1とtest2プロシージャです。両方ともSheet1シートのセルA1に「ISAパソコンスクール」と入力するプロシージャです。

test1は3回に分けて命令を与えています。
1. Sheet1シート を選択する
2. セルA1を選択する
3. 選択しているセルに 「ISAパソコンスクール」と入力 する

一方test2は1回で命令を与えています。
1. Sheet1シートのセルA1に「ISAパソコンスクール」と入力するプロシージャです。

当然、1回で命令を与えた方が早いですよね。またシートを選択する操作を行うと画面が切り替わる動きが入りますのでその分処理速度も遅くなります。

今回は簡単なものですが、このような無駄な記述が積み重なり実行速度が遅くなっている原因が多いです。
まずは自分の書いているコードを見直すことが重要です。特にマクロ記録で作成したコードを部分的にコピペし、そのまま利用されている場合はこのような記述が多数あると思います。

その上でVBAの基本文法をしっかり理解しておくことが重要になります。
ISAパソコンスクールでは基本構文からしっかり理解できるVBA講座を用意しております。
もっと効率よくコードを書けるようにと悩んでいる方はぜひカウンセリングにご参加ください。
下記URLより申し込みもできます。

https://www.isa-school.net/entry/counseling/

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