右クリックメニューが表示できない!?
最近職場で「エクセルで右クリックしてもメニューが出ない」とか「右クリックできない」という相談を受けました。何も設定を変更していないのに急になったそうです。
原因はマクロ!?
色々調べていくに内になんとなく以下のことが原因のように感じました。
- 右クリックメニューを無効化するマクロを組まれたエクセルファイルを使用して、何らかの原因で強制終了してしまい、右クリックメニューが無効化されたままになっている?
- .xlbファイルが壊れた?
対処方法
方法1. マクロで右クリックを有効化してみる
以下のマクロのソースで有効化することで右クリックメニューが復活します。次回エクセルを起動したときに修復されていなかった場合は、「方法2」を試してください。
Application.CommandBars("Row").Enabled = True ' 行選択時、右クリック有効 Application.CommandBars("Column").Enabled = True ' 列選択時、右クリック有効 Application.CommandBars("Cell").Enabled = True ' セル選択時、右クリック有効
方法2. xlbファイルを削除してみる
xlbファイルには、エクセルのツールバーやメニューバーに関する情報が保存されています。これを削除すれば、次にエクエルを起動したときにメニュー関連が初期化された状態で右クリックメニューが復活する可能性があります。xlbファイルは削除しても自動で再作成されます。心配な場合はファイル名変更でもOKです。
.xlbファイルのある場所
- C:/Users/[ユーザー]/AppData/Roaming/Microsoft/Excel
ここにエクセルのバージョンによってExcel14.xlb
とかExcel15.xlb
とかあるので、該当バージョンのファイルを削除します。
修復用エクセルファイル作ってみた
手っ取り早く、マクロを仕込んだ右クリックメニュー修復(復活)用のエクセルファイルを作ってみました。以下のZIPファイルをダウンロードして解凍すれば、「右クリックメニュー修復.xlsm」というのが現れるので、使ってみてください。
右クリックメニュー修復.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