Excelのコンテキストメニュー(右クリックメニュー)に独自のメニューを追加する。  今回はシートのタブのコンテキストメニュー(右クリックメニュー)へ追加して、さらにもっと他の場所にも追加する。

Cassiopeia2007-05-09

もっと他の場所にも追加したい場合はこちらもご覧ください。

 Sheetのタブを右クリックした時に現れるメニューへ独自メニューを追加するVBAサンプルコードです。前回と違うのは、Application.CommandBars("Cell") の所が Application.CommandBars("Ply") となっているだけで他の部分は(シンプルにしてしまいましたが)変更していません。

■使用上の注意

 RemoveSheetTabMenu()で追加したメニューを削除しないと、どんどん同じメニューが追加されてしまいます。 あなたが実際に使うマクロを創るときには追加したメニューを自動的に削除してから終了するようにするなり、すでに独自メニューがあるときはさらに独自メニューを追加しないようなコードを追加してください。

'AddSheetTabMenu()で独自のメニューをコンテキストメニュー
'(右クリックメニュー)に追加する。
'RemoveSheetTabMenu()で追加したメニューを削除する。


Sub AddSheetTabMenu()
    Dim MyCellMenu As CommandBarControl

    Set MyCellMenu_01 = CommandBars("Ply"). _
    Controls.Add(Type:=msoControlButton, before:=1)
    
    With MyCellMenu_01
        .Caption = "電卓起動!"
        .FaceId = 50
        .OnAction = "ExecCalc"
    End With
    
End Sub

Sub RemoveSheetTabMenu()
    CommandBars("Ply").Controls.Item("電卓起動!").Delete
End Sub

Sub ExecCalc()
    Shell "calc"
End Sub