Excel VBA高速化テクニック1【画面描写を止める】



The following two tabs change content below.

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

Excel VBA高速化テクニック1【画面描写を止める】

Excel VBAに限らず、プログラムという物は処理の結果は同じでも記述の仕方によって処理速度に大幅な差が出てくることがあります。
今回はExcelVBAで処理速度を簡単に向上させる方法の一つをご紹介します。

高速化の紹介

今回ご紹介する高速化の方法は一番簡単かつ、一番効果が高い【Application.ScreenUpdating 】をご紹介します。
【Application.ScreenUpdating 】は簡単に言うと【画面描写を止める】というコードです。

  • Application.ScreenUpdating = False ‘画面描写を止める
  • Application.ScreenUpdating = True ‘画面描写を戻す

画面の描写を止めるとどうなるの?と思われるかもしれませんが。

このようなコードがあったとすると

  • セルA1に1を入力
  • 画面上でもセルA1に1を表示
  • セルA2に2を入力
  • 画面上でもセルA2に2を表示

これを10000回繰り返しているわけですからPCにも少なからず負荷がかかるのもわかっていただけるかと思います。

ですが【画面上でも表示】を抑制してあげて、10000回終了した後に画面に表示させてあげることによって10000回繰り返していた処理を1回で済ませることができるので、処理速度が上がるのがお分かりいただけると思います。

そもそも高速処理されているプログラムの画面表示を停止したところで気にする人も少ないと思いますが(笑)

※PCのスペックや作業によってほとんど差がない場合があります

サンプルコード

このコードは処理にかかった時間を表示するコードですのでご自由にご利用ください。

このレベルの処理だと大した差がないかもしれませんのでこれを参考にしてカスタマイズをしてみてください!

まとめ

Excel VBAは手作業に比べると比較にならないスピードで処理をするものですが、プログラムの中では少し遅い部類に入ります。

まして効率が悪いプログラムソース(コード)で記述されていた場合さらに処理速度は低下します。

ですが今回のように少しの工夫でVBAでも処理速度を改善することも可能ですので参考にしてみて下さい。

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です