Excel VBA でプログラム実行する時、処理一つずつモニタ上で動作しますが、画面がちかちかします。いわゆる、 ちらつき ですが、実はレスポンスにも影響するんです。そのちらつきを 防止 するには、最初と最後に一文ずつ記載すれば解決します。ちょっとした 小ネタ ですが、覚えて損はありません!
やりたいこと
プログラム実行時の画面のちらつき防止(処理レスポンス向上)
手段
各コードの最初と最後に一文ずついれるだけ
サンプルソース(コード)
Sub Test()
'処理する直前に入れる
Application.ScreenUpdating = False '----(1)
'<処理>
'処理完了直後に
Application.ScreenUpdateing = True '----(2)
End Sub
- (1)対象となる処理のプログラムソースの直前に記載します。これ以降に有効となります。
- (2)ちらつき処理を停止したい処理の直後に記載します。これ以降はちらつき対象となります。
あるデータが入力されたテーブルの値を、異なるシートなどに転記する場合など、シートの切り替えなどの処理が行われます。その場合によくちらつきが発生します。
人によってはちらつきが動いている証拠としてそのままにしていることもありますが、ちらつきを停止すると、処理レスポンスが格段に上がります。
始めと最後に入れるだけです。ぜひ活用してください。
テストしているときは動作チェックが必要なので、コメントアウトするなどして動作確認し、実際に使うとき(リリースする時)や、確立したプログラムには有効にしましょう。