Application.CommandBars("Cell").EnabledプロパティをFalseにすることで、セル上で右クリックしたときに表示されるショートカットメニューを非表示にできるということをご紹介しました。
この方法では、あくまでもセル上で右クリックしたときにショートカットメニューを非表示にする方法です。
列見出し・行見出し・シート見出しを右クリックしたときにもショートカットメニューが表示されないようにしたいという要望も、実務ではよく出てくるものです。
Application.CommandBars("Column").Enabled = False
▼行見出しでショートカットメニューを非表示にするコード
Application.CommandBars("Row").Enabled = False
Application.CommandBars("Ply").Enabled = False
「Application.CommandBars("Cell").Enabled = False」というコードで、セルで右クリックしたときにショートカットメニューが非表示になりました。
「Application.CommandBars("Column").Enabled = False」
で列見出しの
「Application.CommandBars("Row").Enabled = False」
で行見出しの
「Application.CommandBars("Ply").Enabled = False」
でシート見出しの
ショートカットメニューがそれぞれ非表示になります。
逆に、
「Application.CommandBars("Cell").Enabled = True」で、セルのショートカットメニューが再度表示されるようになったのと同様、
「Application.CommandBars("Column").Enabled = True」
で列見出しの
「Application.CommandBars("Row").Enabled = True」
で行見出しの
「Application.CommandBars("Ply").Enabled = True」
でシート見出しの
ショートカットメニューがそれぞれ表示されるようになります。
▼サンプルファイル(003635.xls 44KByte)ダウンロード
サンプルファイルには、セル・行・列・シート見出しの各シートが作成してあります。
それぞれアクティブになるときに実行されるWorksheet_Activateイベントプロシージャで、
セルのショートカットメニューだけ
行見出しのショートカットメニューだけ
列見出しのショートカットメニューだけ
シート見出しのショートカットメニューだけ
非表示にするコードと、ワークシートが非アクアティブになるときに実行されるWorksheet_Deactivateイベントプロシージャでショートカットメニューが再度表示されるコードが記述してあります。
また、サンプルファイルの「全非表示」シートのWorksheet_Activateイベントプロシージャでは、セル・行見出し・列見出し・シート見出しのショートカットメニューが非表示になるよう、Worksheet_Deactivateイベントプロシージャではショートカットメニューが表示されるように、「全表示」シートのWorksheet_Activateイベントプロシージャではショートカットメニューが表示されるようにしてあります。
更にWorkbook_Openイベントプロシージャで、「全表示」シートがアクティブになるようにしてあります。
以上のようなコードを組み合わせれば、ブック全体でショートカットメニューを非表示にしたり、一部のシートでのみショートカットメニューを非表示にしたりといったことが可能になります。
- Newer:脚注・文末脚注のポップヒントが表示されない
- Older:簡単に更新できる一週間ごとの日付を入力する−「7」の加算
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 列・行・シート見出しで右クリックしたときのショートカットメニューを非表示に