エクセルで繰り返し作業を効率よくするために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で非表示にする方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作
エクセルワークシート下にあるシート名の部分を非表示化する方法
苦労してExcel-VBAを組み込んだエクセルファイルを他人に渡して使ってもらうと、エラー表示になったと言われたことありませんか? 原因は簡単で、エクセル操作をオリジ… -
画面の操作
エクセルVBAでセルの枠線の表示を表示・非表示を切り替えるボタン
エクセルのワークシート上にはセルの仕切り「枠線」が表示されていますが、消したいこと(非表示化)ありませんか? ホームページやブログに画像として取り込む時に、枠… -
画面の操作
エクセルシートで指定した範囲を自動的に画面最大化させるVBA方法
エクセルで作成した表がいつも画面いっぱいに表示されるならばいいのですが、スクロールしないと見られない範囲外ってことありませんか? Excel-VBAを使えばいつも指定… -
画面の操作
ワークシートサイズは常に最大化してエクセル画面を表示するVBA
エクセルファイルを開いたら中途半端なサイズで表示されるようになってしまった事ありませんか? 作業するのにはフルサイズでの画面最大化の方が良いので、VBAを使って… -
画面の操作
指定したセルを画面左上にスクロールする
【画面左上は移動はscrollrowとscrollcolumnを組み合わせる】 ボウリング場のリーグ戦の成績表でも使っているエクセルで、リーグ戦参加者の成績表を入力する為の専用フ… -
画面の操作
VBAの画面のちらつきがたった1行で解決して処理高速化する方法
エクセルで繰り返し作業を効率よくするためにVBAを活用している時に、コマンドボタンを押したら画面が一瞬スクロールしたりシートが切り替わったりして目障りに思ったこ… -
コマンドボタン
エクセルVBAコマンドボタンでON/OFF切替スイッチを作る方法
ワークシート上にある罫線やリボンなど7つの項目を表示したり非表示することができる切替ボタンがあったら便利だと思いませんか? 不要な項目をワンクリックで切り替え… -
画面の操作
エクセルVBAで改ページプレビューと標準モード切替ボタンを作る方法
エクセルで表を作成して印刷をする前に用紙の範囲に印刷できるか気になるので、改ページプレビューで確認することありませんか? ボタン一つで標準モードにも切り替えら…
紅葉スポット
-
全長3㎞ミューズパークいちょう並木へ西武秩父駅からバスで行く
西武秩父駅や秩父駅からバスでも行くことができる秩父のテーマパークで、南口から北口までの約3㎞もの長さにイチョウの木が両サイドに植えられていて、紅葉の時期になる… -
宝徳寺の紅葉へ関東では貴重な本堂の床に反射する床もみじが見られる
【紅葉見頃】10月中旬~11月下旬 京都でたくさんのお寺で見られる本堂の床に映り込んで真っ赤な紅葉が見られる床もみじが、関東では貴重で群馬県桐生市にある宝徳寺で… -
フリーきっぷで行く12月が見頃の関東近郊の紅葉スポット
渋滞避けて電車とバスでお得なフリーパスや1日乗車券を使って、のんびり紅葉を見に行きませんか? 温暖化の影響で12月上旬でも関東南部では紅葉を見られる場所がまだま… -
埼玉県第1号のダム「有間ダム」によりできた名栗湖畔の鏡面紅葉へ
初!と付くものはやっぱり宣伝したい、そして四季折々の景色が見られる自然絶景スポットならばなおさらですよね。 埼玉県飯能市にある名栗湖へ飯能駅からバスで行くこと… -
竜神大吊橋の紅葉まつりへ常陸太田駅から路線バスで紅葉絶景へ
竜神大吊橋バンジーや5月の1000匹の鯉のぼりでテレビで取り上げられることが多い竜神大吊橋ですが、実はこの周辺は竜神峡にはもみじなども多く紅葉も年々認知されてきて… -
秩父のパワースポット三峯神社の金蔵落としへ大血川渓谷紅葉へ
秩父市大滝にある大血川渓谷は「金蔵落し」の周りを中心にかえでやもみじが真っ赤に染まり、バス停から近い事もあり多くの観光客が訪れます。 そして金蔵落しは紅葉絶景…