![]()
なんだかやる気が出なくて、中途半端なんだけれど、
取りあえずやりたいことはできる。
やる気が出たら、もっとエレガントな感じに修正したい。
Option Explicit
Public Sub AddMenuMain()
    '標準状態にリセット
    Application.CommandBars("Cell").Reset
    
    Call AddMenu1
    Call AddMenu2
End Sub
'---------------------------------------------------------------------------------------------------
'【処 理 名】右クリックメニュー追加
'【処理概要】
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub AddMenu1()
    Dim cmdBarCtrl As CommandBarControl
    
    Set cmdBarCtrl = Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, Temporary:=True)
    With cmdBarCtrl
        .Caption = "なまえ"
        .OnAction = "inputName"
    End With
End Sub
'---------------------------------------------------------------------------------------------------
'【処 理 名】右クリックメニュー追加(サブメニューあり)
'【処理概要】
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub AddMenu2()
    Dim cmdBarCtrl As CommandBarControl
    
    Set cmdBarCtrl = Application.CommandBars("Cell").Controls.Add(Type:=msoControlPopup, Temporary:=True)
    With cmdBarCtrl
        .Caption = "めにゅー"
        With .Controls.Add
            .Caption = "さぶめにゅー"
            .OnAction = "inputName"
        End With
    End With
End Sub
Private Sub inputName()
    Dim rng As Range
    For Each rng In Selection
        rng.Value = "みすく"
    Next rng
End Sub
Sub Sample2()
    CommandBars("Cell").Controls("なまえ").Delete
End Sub
