エクセルを開くと自動的にメニューバー(リボンツールバー)を非表示にする方法

画面リボンツールバー非表示VBA

エクセルVBAを使って作成したファイルを自分だけで使うならば問題ないのですが、複数のスタッフで共有して使っていると、思いもよらない行動「メニューバー」から操作されてマクロエラーになった経験ありませんか?

このように作成者の意図しない操作を防ぐには、メニューバー(リボンツールバー)を非表示にすることで解決しますよ。

目次

メニューバーを隠して意図しないユーザー操作を防止

エクセルの画面の上に並んでいる、印刷や文字設定をしたりできる様々なメニューがありますが、これをリボンツールバーというのです。

これを非表示にしてしまえば、だれも触れなくなるので、問題が解決できますよ!

メニューバー(リボン)表示
メニューバー(リボン)表示

これが一般的なエクセルのリボンツールバーが表示されている画面ですね。

これをエクセルファイルを開いたら自動的に消してしまうと、このような画面になります。

メニューバー(リボン)非表示
メニューバー(リボン)非表示

実はリボンツールバーを非表示にすると、シートのスペースが当たりませですが広くなりましたね。

ではこのようにリボンツールバーを消すVBAコードを書いていきましょう。

SHOW.TOOLBAR

メニューバー(リボン)を隠してしまう方法は「SHOW.TOOLBAR」を使い、エクセルを開いたときに自動的に処理を行う方法はThisWorkBookに記述します。

リボンツールバー非表示するVBA

Private Sub Workbook_open()
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””, False)”
End Sub

解説
  1. エクセルファイルが開かれたら
  2. リボンツールバーを非表示にする
  3. マクロ記録終了

これで、エクセルを開いてマクロを有効化すると、メニューバー(リボン)を隠して表示してくれます。

忘れてはいけないのが、ワークシート上またはユーザーフォームにメニューバー(リボン)を再表示する為のコードを記述したコマンドボタンを準備しておく事も必要です。

そうでないと復旧できなくなってしまうためですよ。

リボンツールバー表示するVBA

Private Sub CommandButton1_Click()
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””, True)”
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. リボンツールバーを表示する
  3. マクロ記録終了

たった1行なので難しくないですし、非表示のFalseを表示のTrueに変更するだけで完成するのとても簡単です。

この方法でも問題ないのですが、ちょっと工夫すると1つのコマンドボタンで非表示も再表示もできるんですよ!

クリックするたびに数式バーの表示/非表示を切り替え

なんでもかんでもできるわけではないのですが、この種の表示・非表示の切り替えには、FalseやTrueの代わりにNot演算子を使用するとできるようになるのですが、リボンツールバーにはこの方法が使えませんでしたので、IFステートメントで解決します。

リボンツールバーの表示・非表示の切り替えVBA

Private Sub CommandButton1_Click()
If Application.CommandBars(“Ribbon”).Visible = True Then
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””,False)”
Else
Application.ExecuteExcel4Macro “SHOW.TOOLBAR(“”Ribbon””,True)”
End If
End Sub

解説
  1. コマンドボタン1がクリックされたら
  2. もし、リボンツールバーが表示中だったら
  3. リボンツールバーを非表示にする
  4. そうでなかったら(非表示中の場合)
  5. リボンツールバーを表示する
  6. Ifステートメント終了
  7. マクロ終了

これでコマンドボタンを押すたびにリボンツールバーの現在の状態と反対の操作をするようになるので、表示中ならば非表示にしてくれ、非表示ならば表示してくれます。

ボタン1つで表示を切り替えたり元に戻したりできると便利なので、ほかの表示方法も知っていて損はないと思いますよ!

目次