Excelで右クリックメニューが表示されなくなったときの修復方法とマクロ

右クリックメニューが表示できない!?

最近職場で「エクセルで右クリックしてもメニューが出ない」とか「右クリックできない」という相談を受けました。何も設定を変更していないのに急になったそうです。

原因はマクロ!?

色々調べていくに内になんとなく以下のことが原因のように感じました。

対処方法

方法1. マクロで右クリックを有効化してみる

以下のマクロのソースで有効化することで右クリックメニューが復活します。次回エクセルを起動したときに修復されていなかった場合は、「方法2」を試してください。

Application.CommandBars("Row").Enabled = True ' 行選択時、右クリック有効
Application.CommandBars("Column").Enabled = True ' 列選択時、右クリック有効
Application.CommandBars("Cell").Enabled = True ' セル選択時、右クリック有効

方法2. xlbファイルを削除してみる

xlbファイルには、エクセルのツールバーやメニューバーに関する情報が保存されています。これを削除すれば、次にエクエルを起動したときにメニュー関連が初期化された状態で右クリックメニューが復活する可能性があります。xlbファイルは削除しても自動で再作成されます。心配な場合はファイル名変更でもOKです。

.xlbファイルのある場所

ここにエクセルのバージョンによってExcel14.xlbとかExcel15.xlbとかあるので、該当バージョンのファイルを削除します。

修復用エクセルファイル作ってみた

手っ取り早く、マクロを仕込んだ右クリックメニュー修復(復活)用のエクセルファイルを作ってみました。以下のZIPファイルをダウンロードして解凍すれば、「右クリックメニュー修復.xlsm」というのが現れるので、使ってみてください。

ExcelMenuRrecovery.zip(16KB)

右クリックメニュー修復.xlsmのスクリーンショット

xlbファイルのリカバリに関してはExcel15.xlbを対象にマクロを組んでいますので、お使いのバージョンによってExcel14.xlbであったり、Excel16.xlbであったりするので環境に合わせてマクロ内のパス(ファイル名)を変更してください。

マクロのソース

上記では以下のコードでマクロを書いています。『マクロが組み込んであるファイルをダウンロードして使うなんて何が仕込まれているかわからなじゃないか』と不安な場合は、このソースを参考にマクロを実行してみてください。

Sub 右クリックメニュー有効化()
  Application.CommandBars("Row").Enabled = True '行選択時のメニュー
  Application.CommandBars("Column").Enabled = True '列選択時のメニュー
  Application.CommandBars("Cell").Enabled = True 'セル選択時のメニュー
End Sub

Sub 右クリックメニュー無効化()
  Application.CommandBars("Row").Enabled = False '行選択時のメニュー
  Application.CommandBars("Column").Enabled = False '列選択時のメニュー
  Application.CommandBars("Cell").Enabled = False 'セル選択時のメニュー
End Sub

Sub xlbファイルリカバリ()
  Dim target As String
  target = Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Excel\Excel15.xlb"
  Name target As target & "_" & Format(Now, "yyyyMMddhhmmss") 'ファイル名リネーム
  Application.Quit 'エクセルを閉じる
End Sub

Sub フォルダを開く()
  CreateObject("Shell.Application").explore Environ("USERPROFILE") & "\AppData\Roaming\Microsoft\Excel"
End Sub
PAGETOP