Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 列・行・シート見出しで右クリックしたときのショートカットメニューを非表示に

列・行・シート見出しで右クリックしたときのショートカットメニューを非表示に

対象:Excel2002, Excel2003, Excel2007, Excel2010

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イベントプロシージャで、「全表示」シートがアクティブになるようにしてあります。

以上のようなコードを組み合わせれば、ブック全体でショートカットメニューを非表示にしたり、一部のシートでのみショートカットメニューを非表示にしたりといったことが可能になります。

関連語句
vba 見出し 右クリック メニュー 禁止

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 列・行・シート見出しで右クリックしたときのショートカットメニューを非表示に

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 列・行・シート見出しで右クリックしたときのショートカットメニューを非表示に

「イベントプロシージャ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.