| 
    
     |  | あけましておめでとうさんです。 
 オブジェクト変数使ったりするから、かえってややこしゅうなってまうんです。
 Withを組み合わせればメニュー構造そのままのイメージをコードにすることができまっせ。
 
 ↓こんなんかな?・・・ノーチェックでっけど。
 
 Sub test()
 With Application.CommandBars("Worksheet Menu Bar")
 .Reset
 With .Controls
 With .Add(Type:=msoControlPopup, Temporary:=True)
 .Caption = "追加メニュー"
 With .Controls
 With .Add
 .Caption = "Menu_1A"
 .FaceId = 481
 .OnAction = "macro1A"
 End With
 With .Add(msoControlPopup)
 .Caption = "Menu_1B"
 With .Controls
 With .Add
 .Caption = "Menu_2A"
 .FaceId = 485
 .OnAction = "macro2A"
 End With
 With .Add
 .Caption = "Menu_2B"
 .FaceId = 486
 .OnAction = "macro2B"
 End With
 End With
 End With
 End With
 End With
 End With
 End With
 End Sub
 
 試してみてな。
 ほな。
 
 |  |