エクセルで繰り返し作業を効率よくするためにVBAを活用している時に、コマンドボタンを押したら画面が一瞬スクロールしたりシートが切り替わったりして目障りに思ったことありませんか?
そこでチラつきを解消する「ScreenUpdatingプロパティ」をご紹介しますので、たった1行付け加えれば書き込んだVBAの手順に従ってセルやシートが移動する時に起きるチラつきを防止してくれますよ。
ScreenUpdatingプロパティ
Excel-VBAの画面の操作系のプログラムとして分類されて、VBAに記載した処理手順に合わせてセルやシートが移動するので、画面表示も同じように更新されるので画面がチラついて見え、さらに処理も遅くなります。
この画面更新処理を停止させたり、稼働させたりすることができるのが「ScreenUpdatingプロパティ」です。
ScreenUpdatingプロパティの使い方
使い方は簡単で、既存のVBAコード「Sub()の直後と~End Sub直前に「ScreenUpdatingプロパティ」を使ってあげるだけなので、それぞれ1行ずつ記入するだけなのでとても簡単です。
例えば、シート1を表示していてシート2のセルAA1~AZ1000に「1」を入力したら、シート1のセルA1に移動するというコードだけを書くと、下記のようになります。
Sub 画面更新停止()
Sheets(“sheet2”).Select
Range(“AA1:AZ1000”).Value = “1”
Sheets(“sheet1”).Select
Range(“A1”).Select
End Sub
- 画面更新停止という名のプログラムを実行する
- シート2を選択
- セルAA1~AZ1000の範囲内に「1」を入力したら
- シート1を選択
- セルA1を選択
- マクロ記録終了
実際にこのようなVBAコードは使いませんが、一瞬画面がちらつきますので、ScreenUpdatingプロパティを使うとちらつきが防止できます。
Sub 画面更新停止()
Application.ScreenUpdating = False
Sheets(“sheet2”).Select
Range(“AA1:AZ1000”).Value = “1”
Sheets(“sheet1”).Select
Range(“A1”).Select
Application.ScreenUpdating = True
End Sub
- 画面更新停止という名のプログラムを実行する
- 画面更新処理を停止する
- シート2を選択
- セルAA1~AZ1000の範囲内に「1」を入力したら
- シート1を選択
- セルA1を選択
- 画面更新処理を再開する
- マクロ記録終了
このようにSub()の直後にApplication.ScreenUpdating = Falseと付け足すと、画面更新処理を停止してから記述したVBAコードに従ってプログラムが作動して、全てのプログラムの作業が終わったらEnd Subの直前にApplication.ScreenUpdating = Trueと付け足して、停止させた画面更新処理を再開(元に戻す)します。
Falseが停止、Trueが再開です。
ScreenUpdatingを使うことにより、ちらつき防止のついでに無駄な更新もなくなるので、VBAコードの処理も早くなるのでセルやシートの移動を伴うVBAコードを記述する時は必ず「ScreenUpdatingプロパティ」を使うほど使用頻度が高いVBAコードです。
ネット情報ではTrueを省略可(マクロ実行終了で自動的に戻る)となっている情報もあり、使い始めた当初は省略していましたが時々フリーズすることがあったので、今は省略せずに必ず記載するようにしてからはフリーズしていません。
使用しているエクセルでは、ほぼすべて画面更新処理を扱う時はこのVBAコードは必ず入れていますので、処理も早くなるのでおススメ処理ですよ。
関連記事
-
画面の操作
ワークシートサイズは常に最大化してエクセル画面を表示するVBA
エクセルファイルを開いたら中途半端なサイズで表示されるようになってしまった事ありませんか? 作業するのにはフルサイズでの画面最大化の方が良いので、VBAを使って… -
画面の操作
エクセルワークシート下にあるシート名の部分を非表示化する方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作
エクセルのメニューリボン(操作パネル)をVBAで非表示にする方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作
VBAの画面のちらつきがたった1行で解決して処理高速化する方法
エクセルで繰り返し作業を効率よくするためにVBAを活用している時に、コマンドボタンを押したら画面が一瞬スクロールしたりシートが切り替わったりして目障りに思ったこ… -
画面の操作
エクセルVBAで改ページプレビューと標準モード切替ボタンを作る方法
エクセルで表を作成して印刷をする前に用紙の範囲に印刷できるか気になるので、改ページプレビューで確認することありませんか? ボタン一つで標準モードにも切り替えら… -
画面の操作
指定したセルを画面左上にスクロールする
画面左上は移動はscrollrowとscrollcolumnを組み合わせる ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦参加者の成績表を入力する為の専用フォー… -
コマンドボタン
エクセルVBAコマンドボタンでON/OFF切替スイッチを作る方法
ワークシート上にある罫線やリボンなど7つの項目を表示したり非表示することができる切替ボタンがあったら便利だと思いませんか? 不要な項目をワンクリックで切り替え… -
画面の操作
エクセルシートで指定した範囲を自動的に画面最大化させるVBA方法
エクセルで作成した表がいつも画面いっぱいに表示されるならばいいのですが、スクロールしないと見られない範囲外ってことありませんか? Excel-VBAを使えばいつも指定… -
画面の操作
エクセルVBAでセルの枠線の表示を表示・非表示を切り替えるボタン
エクセルのワークシート上にはセルの仕切り「枠線」が表示されていますが、消したいこと(非表示化)ありませんか? ホームページやブログに画像として取り込む時に、枠…
紅葉スポット
-
鶴沼原生花園アッケシソウ群落で地上で見られるサンゴ岬の一面赤い世界
北海道の北東部に位置する湧別町でサロマ湖の西側にサンゴ岬という場所があり、なんと地上にサンゴ草と言われる群生地が広がっています。 毎年9月中旬頃になるとアッケ… -
成田山公園の紅葉へ新勝寺隣接の日本庭園を楽めて駅から徒歩圏内
成田と言えば成田空港と成田山新勝寺が有名で、旅行や初詣で訪れたことがあると思いますが、紅葉スポットになっていることは、地元の方以外はあまり知られていませんね… -
フリーきっぷで行く千葉県内の紅葉名所や穴場スポット7選
10月中旬頃から始まる関東地方の紅葉も11月中旬過ぎると、ようやく千葉県内の紅葉名所ももみじが真っ赤に色づいて見頃になってきます。 千葉県内の紅葉は12月上旬まで楽… -
榛名山からの景色や榛名湖の湖面に反射する紅葉したもみじへ
榛名山の麓の榛名湖は火山の噴火でできたカルデラ湖で周囲の榛名公園には、もみじが植えられていて秋になると真っ赤に染まります。 そして榛名山も夏の緑から紅葉の時期… -
黒山三滝では日本観光百選のパワースポットで滝行もできる紅葉名所
【紅葉見頃】 黒山三滝は、男滝(おだき)・女滝(めだき)・天狗滝(てんぐだき)の3つの滝からなり、滝に打たれる修行を行う滝開きまであります。 その為か、パワースポッ… -
日光穴場!中禅寺湖展望台へ紅葉の中禅寺湖からバスで滞在時間30分
【紅葉見頃】10月中旬~11月上旬 紅葉の見頃となる10月中旬~11月上旬になると、いろは坂から延々華厳の滝や竜頭の滝までとにかく大渋滞して混雑が当たり前ですが、い…