Dim cMenu1 As CommandBarControl
Dim cbMainMenuBar As CommandBar
Dim iHelpMenu As Integer
Dim cbcCutomMenu As CommandBarControl
Dim cBar As Object
Dim cBarPopUp As Object
Dim cButton As Object
***Test es el menu, lo borra en caso de que ya exista
Application.CommandBars("Worksheet Menu Bar").Controls("&Test").Delete
Set cbMainMenuBar = _
Application.CommandBars("Worksheet Menu Bar")
/***Busca el indice, adonde se encuentra el menu ayuda, se va a colocar el menu nuevo al lado de este, en caso de que tengas configurado excel en castellano cambias Help por Ayuda
iHelpMenu = _
cbMainMenuBar.Controls("Help").Index
/****Agregas tu nuevo menu al lado del menu de ayuda
Set cbcCutomMenu = cbMainMenuBar.Controls.Add(Type:=msoControlPopup, Before:=iHelpMenu + 1)
/***Colocas el Caqption
cbcCutomMenu.Caption = "&Test"
/***Agregas un nueva opcion adentro del menu Test
Set cbcCutomMenu = cbcCutomMenu.Controls.Add(Type:=msoControlPopup)
' Give the control a caption
cbcCutomMenu.Caption = "Prueba"
/***Un sub-menu dentro de Prueba
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "&Generar"
.OnAction = "Prueba(1)"
.FaceId = 625
End With
El menu va a quedar asi
Test
|--->Prueba
|------->Test(1)
Si queres que este menu se cree cuando abris la hoja de calculo lo podes incluir en el procedimiento auto_open()
Espero que te haya sido util, saludos desde argentina