エクセル研究室−Excelの基本的な使い方、応用技を紹介

シート上で右クリックで別のオリジナルなメニューを表示する


シート上で右クリックで別のオリジナルなメニューを表示する



まず、右クリックで表示したいメニューをあらかじめ作成しておきます。
以下がそのサンプルです。

Sub Sample43()
With Application.CommandBars.Add("オリジナル", msoBarPopup)
  With .Controls.Add
      .Caption = "マクロ1"
      .OnAction = "macro1"
  End With
  With .Controls.Add
      .Caption = "マクロ2"
      .OnAction = "macro2"
  End With
  With .Controls.Add
      .Caption = "マクロ3"
      .OnAction = "macro3"
  End With
End With
End Sub

次に、シートモジュールに以下の様に入力します。
右クリックした時、既定のメニューは表示させずに、「オリジナル」という名前のメニューを表示します。

'右クリックを無効にし、「オリジナル」という名前のメニューを表示する
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Application.CommandBars("オリジナル").ShowPopup
End Sub


'作成したメニューの削除するには以下を実行
Sub Sample43a()
Application.CommandBars("オリジナル").Delete
End Sub


シート上で右クリックで別のオリジナルなメニューを表示する







エクセルVBAテクニック集トップ