こんにちは、ヒガシです。
このページではマクロ実行中に画面がチカチカするのを止める方法をご紹介していきます。
それではさっそくやっていきましょう!
マクロ実行中に画面のチカチカを止める方法
マクロ実行中に画面のチカチカを止めるためには、以下の一文をプログラムの先頭に記述するだけOKです。
画面を更新しながら実行したい場合は稀だと思いますので、マクロを組み際はおまじない的にこの一行を書き込む癖をつけておいても良いくらいだと思います。
そもそもなぜ画面がチカチカするのか
これだけで終わっては味気ないので、そもそもなぜマクロ実行中に画面がチカチカするのかをご紹介します。
その理由は、
①新しい画面を開いたときなどにWindowが切り替わるため
②シートを移動する際に画面が切り替わるため
➂コピー&ペーストする際などにセルの表示領域が変化するため
等、いろいろな理由が挙げられます。
VBAは処理内容を単純にエクセルシート上で自動実行しているようなものですから、これらの処理を指示した場合は、画面上で実際の処理が行われてしまうのです。
先ほど紹介したApplication.ScreenUpdating = Falseというコードは、マクロ実行中に画面の更新を止めろ、という指示をあらかじめ行っておくものです。
こいつを記述しておけば、先述した画面がチカチカする要因の処理を指示したとしても画面がチカチカすることはなくなります。
画面のチカチカを止める副産物
画面のチカチカを止めたい理由が目障りだからという人は多いと思いますが、画面のチカチカを止めるとシンプルに処理が早くなります。
要は画面がチカチカしている状態というのは、エクセルシート上のなんらかの処理を実行しながら画面を更新する作業を同時並行で実行しているわけですから、画面更新を止めれば本来やるべき処理に集中でき、実行速度が改善するというわけです。
そのあたりの高速化については以下の記事で紹介解説していますので興味があればぜひこちらもご覧ください。
【VBA】マクロ処理を高速化する方法3つ!時間を測りながら実演!
おわりに
というわけで今回はマクロ実行中に発生する画面のチカチカを止める方法をご紹介しました。
非常によく使うスキルなのでApplication.ScreenUpdating = Falseと何も見ないで書けるレベルにまで記憶しておくことをオススメします。
このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。
ぜひ他の記事ものぞいてみてください。
それではまた!
コメント