Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » 画面更新の停止−ScreenUpdatingプロパティ

画面更新の停止−ScreenUpdatingプロパティ

対象:Excel97, Excel2000, Excel2002, Excel2003

VBA(Visual Basic for Applications)を使って、マクロを組む場合によく必要とされる処理として確認メッセージの表示/非表示を切り替えがあります。この切り替えを行うためのDisplayAlertsプロパティについてご紹介しました。

同じくらい必要とされる処理として、画面更新の停止があります。

ExcelのVBAマクロでは、
 ワークシートの挿入/削除
 アクティブワークシートの切り替え
 データのコピー
といった処理がよく行われますが、画面更新を停止していな場合にはそれらの処理が行われる様子が、画面にすべて表示されます。

マクロ実行時の画面表示はかなりのスピードで行われるので、肉眼ですべてを確認するのは難しいかもしれませんが、処理が完了するまで画面がチラチラし続ける状態は見ることができるはずです。

[スポンサードリンク]

この様子は面白いと言えば面白いのですが、その理由を知らないマクロ利用者にとっては、不安や疑問を感じさせるものでもあります。

また何よりも、画面更新が行われると処理が完了するまでの時間が長くなります。

ですから、通常は何らかの処理を開始する前に画面更新が行われないような設定に変更し、処理が終了したら画面更新が行われる状態に戻すステートメントを記述します。


▼画面更新を停止するステートメント
Application.ScreenUpdating = False

逆に「Application.ScreenUpdating = True」とすれば、画面更新が行われるようになります。

一般的にはここでご紹介したように、画面更新を停止することを目的として利用されるScreenUpdatingプロパティですが、これを画面で変更が行われるごとに更新されるようにすることで、条件付き書式を使ってアクティブセルのある行列を目立たせることができることをご紹介しました。合わせてご参照ください。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » 画面更新の停止−ScreenUpdatingプロパティ

TrackBack:4

TrackBack URL
ふりがなを一気に削除するマクロ from インストラクターのネタ帳
対象:Excel2000,Excel2002,Excel2003,Excel2007 VBA(Visual Basic for Application...
一行おきに行削除するマクロ from インストラクターのネタ帳
エクセルで一行ごとに行を削除するマクロ。セル範囲を選択しておいて実行すると一行ごとの削除が行われます。
空白行を削除するマクロ from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007, Excel2010 「エクセル マクロ 空白行削除」 「Exce VBA 空白の...
改行までの文字列にするユーザー定義関数とマクロ from インストラクターのネタ帳
対象:Excel2003, Excel2007, Excel2010 セルの先頭から一つ目の改行までの文字列を取得するワークシート関数を組み合わせた数式...

Home » エクセルマクロ・Excel VBAの使い方 » Applicationオブジェクト » 画面更新の停止−ScreenUpdatingプロパティ

「Applicationオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.