Excel VBAの使い方/マクロ・VBA

画面更新を抑止してスピードを上げよう(2ページ目)

今回の改善作業を通して、これまで作成してきたマクロを完成させます!最後に紹介するテクニックは、様々な場面で活用できる画面更新を抑止する方法です。

緑川 吉行

執筆者:緑川 吉行

エクセル(Excel)の使い方ガイド


画面更新を抑止するプロパティ


画面更新を抑止するには、Applicationオブジェクトの「ScreenUpdating」プロパティにFalseを設定します。プロパティに値を設定する基本構文なので、簡単に記述できます。画面が更新される状態に戻すにはTrueを設定します。


そして、このステートメントを、画面更新を抑止したい操作の前に記述します。ここでは、新しいブックを追加する操作から画面がちらつきだすので、「Workbooks.Add」の直前に記述します。


画面更新を抑止したい操作のあとに、ScreenUpdatingプロパティにTrueを設定するステートメントを明示的に記述しておきます。必須のステートメントではないのですが、「画面更新が抑止されているのはどこまでの範囲なのか」がプロシージャを見て分かるようにしておくと良いでしょう。


ここで、よく見てみると、Falseを設定しているScreenUpdatingプロパティとDisplayAlertsプロパティは同じ場所に記述されていて、ともに親オブジェクトがApplicationオブジェクトです。また、Trueを設定している場所も、DisplayAlertsプロパティのステートメントを移動してまとめてしまっても問題ないようです。このようなときは、Withステートメントを使用して書き換えておきましょう。今回の場合、体感することは難しいですが、オブジェクトを参照する回数が減る分、内部的にスピードアップさせることができます。


これで、3回にわたって進めてきた改善作業は終了です!

>最後に完成したプログラムを実行してみましょう!
  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます