
エクセルVBAでワークシート表示画面カスタマイズ8選と便利な機能3選

データファイルや表などを作ってスタッフみんなで共有して使うエクセルファイルですが、作業効率化の為にVBAを使って作成したのに、作成者の意図しない操作をされて、マクロエラーになってしまったことありませんか?
一番多い原因がコマンドボタン以外操作を行ってしまった時なので、リボンツールバーなど不要な機能を非表示化してしまえば解決できますよ。
また、画面の設定により処理速度が速くなったり、無駄な画面移動をさせないなど便利な機能もありますのでご紹介します。
エクセル画面表示をVBAで設定
まずはトラブル防止です。
せっかく作ったコマンドボタンやユーザーフォームをクリックさえしてもらえば、エラーにならないのに設定以外のエクセルの画面上の操作パネルを触ったり、勝手にスクロールして直接セルを操作できないようにすれば解決です。
下記画像の6か所を消してしまえば、触れなくなりますので安心。

①画面上部の緑色のメニューバー(リボンツールバー)
上記画面上では右上だけに印をつけましたが、左の「ファイル」からさまざまな操作ができるメニューバーの部分です。
このメニューバーの名前は「リボンツールバー」といい、エクセルの基本操作ができるようにショートカットメニューが並んでいます。
エクセルの様々な設定ができるので、リボンツールバーから操作されて意図しない操作によりエラーになることが一番経験上多いので、非表示にしたり、表示したりする設定です。

②数式表示窓(数式バー)
この部分にはエクセル関数の数式が表示されていますが、この部分をコピーして貼り付けて加工しようとされることがあります。
また、そこまでのチャレンジャーがいないとしても、VBAでプログラムを組んでいるならば、表示させている意味はあまりないので非表示にしてスッキリとした見た目になる効果もあります。

③行番号・列番号
エクセル画面にはセル番号があり、縦が行数で数字で表示され、横が列数でアルファベットで表示されています。
普段エクセルを使う時やVBAでプログラムをしている時には、セル番地は絶対必要です。
しかし、VBAでボタン操作により完結させたならばセル番地表示は必要ないので、数式バーと同様に非表示にしてスッキリとした見た目のエクセル画面にできます。

④画面下のシート名表示
エクセル画面の左下にシート名が表示されます(Sheet1)など。
意図しない操作の2番目に多いのが、このシートを直接クリックしてシートの移動をされてしまう事によるマクロエラーです。
通常コマンドボタンなど「にシートが移動したらプログラムを実行する」というVBAコードを書き込むことが多いので、シートを直接クリックされたらプログラムは作動せずに終了。
次の操作の指示が出ないという事になりますので、シートを非表示するのは必須です。

⑤左右移動バー(水平スクロールバー)
VBAを使うから1つのシートを広く使えるメリットがあり、A列から始まりZ列をはるかに超えて、AA列、BA列と先へ行き100列ぐらい。
ボタンを押せば一瞬で指定した列へ移動できるので違和感なく使っていますよね。
だからわざわざ画面右下にある左右に移動できる「水平スクロールバー」を操作することは無く、表示されていれば興味本位でスクロールして何かセルを触ってしまうトラブルのリスクしかありません。
水平スクロールバーを非表示にしておけば安心です。

⑥上下移動バー(垂直スクロールバー)
先ほどの⑤番の水平と同じで今度は縦方向で、行数は列に比べるともっとたくさん使っていて1,000行なんてごく普通です。
水平スクロールバーと同じくボタンで操作するようになるので、上下移動も不要なので垂直スクロールバーも非表示にしておいて問題ないです。

以上6項目設定するとこのようにスッキリとしたエクセル画面になり、勝手な操作ができなくなりますので、コマンドボタンを配置してあればボタン操作のみ可能という事になり、誤操作できなくなります。

⑦マス目の線(グリッド線)
おまけといっては何ですが、ついでにエクセルのマス目の線も非表示にすることができるんです。
グリッド線を消すと真っ白な背景になってとてもスッキリしますよ!

⑧画面下のステータスバー
おまけ2つ目。
6つ設定したあとのエクセル画面の一番左下に【準備完了】や右下に100%とか書かれた部分があります。
ここがステータスバーという部分になり、役目を知らない人も多いと思います。
だったら表示させておく必要ないので、このステータスバーも非表示にしてしまいましょう。

画面表示の便利機能VBA
画面関連のVBAは複雑なコードはありません。
本来処理するVBAコードの前後に加えてあげれば完成するので、活用すれば誤操作から解放されて快適操作可能になります。
画面のちらつき防止と処理速度アップ
VBAを使えばひとつのシートだけで全て完結させることも可能ですし、通常通り複数のシートを使う事も問題ありません。
ただいくらVBAでできるからと言って、セル番地を指定した時に画面が一瞬移動した為にチラついた様に感じることありませんか?
特にシートが移動した時などは画面の切り替わりが見えてしまうので気になりますので、ちらつき防止VBAコードを書き加えれば防ぐとこができます。

中途半端な画面サイズで表示されることから解放
エクセルファイルを開いた時に常に画面最大に表示されていますか?
毎回ではないのですが、パソコンを共用使用していると何故か中途半端な大きさでエクセルファイル開くことありますよね。
いちいち最大化させるの面倒ですよね。
そんなわずかな手間ですが、VBAコード1行追加で解放されて常に画面最大化表示してくれる便利機能です。

指定範囲を画面サイズに合わせて拡大・縮小表示する
使用するパソコン画面の大きさが異なる場合、表示されるセルの範囲が異なるのでステータスバーやリボンツールバーで表示倍率(ズーム)を操作することありませんか?
意外と簡単な方法なのですが、ピッタリサイズに調整するのは面倒です。
そこで、表示させたいセルの範囲を指定しておけば、エクセルファイルが開くと自動的に画面サイズに合わせて、指定範囲が100%表示になりますので便利ですよ。

知っていて損はしない表示設定
VBA覚えたての頃でまだVBAをそんなにマスターしていない時に、印刷を失敗しないように確認するの為に使っていましたが、印刷関連のVBAを覚えてきたら使わなくなってしまった設定です。
通常のワークシートの画面と印刷範囲を確認する為の「改ページプレビュー」を表示切替する為のVBAコードなんです。
最初の8項目でリボンツールバーを非表示にしたら「改ページプレビュー」もできないので、このVBAはあったら便利かな?

カーソルの範囲制限
画面表示とは直接関連ではないのですが、画面表示の基本8項目を設定すれば、誤操作を防げると安心していたらキーボードのEnterキーや矢印キーを連打されて、スクロールバーが無くなっても移動されてしまって、困ったことありませんか?
そういう場合は、セル操作ができる範囲を制限してしまえば、解決しますよ。
