Prueba lo siguiente: Ver->Barra de Herramientas->Personalizar Seleccionas la pestaña Comandos y Seleccionas el último de la lista "Categorías" que se llama "Nuevo Menu", luego te mantienes en Personalizar para añadirle botones o macros. Según he podido ver, los complementos se encuentran repartidos por los menús (p.e. Solver en Herramientas o Administrador de Informes en Ver). Lo que puedes hacer es mover esos complementos al nuevo menú o asignarle botones con macros. Espero haber entendido bien la pregunta. Un saludo, Javi PD No olvides valorar la respuesta
- Anónimoahora mismo
Respuesta de tavopz
1
1
tavopz, Conozco un poco acerca de Excel (fórmulas y VBA), pregunta y si...
No se si entendí tu pregunta, pero mira esta macro te ayuda a crear un menú: ========== Sub menu() Dim cControl As CommandBarControl Dim pos As Integer 'Opcion general del menu pos = CommandBars(1).Controls.Count + 1 Set cControl = CommandBars("Worksheet Menu Bar").Controls.Add(Type:=msoControlPopup, Before:=pos) cControl.Caption = "Mi Menú" cControl.Enabled = True '--------------------------------------------------- 'Opcion general de definir Set cControl = CommandBars("Cuadro emergente personalizado 1").Controls.Add(Type:=msoControlPopup, Before:=1) cControl.Caption = "Primera Opción" '--------------------------------------------------- 'Definir elaborado Set cControl = CommandBars("Cuadro emergente personalizado 2").Controls.Add(Type:=msoControlButton, ID:=2949, Before:=1) cControl.Caption = "Primera Opción Secundaria" cControl.OnAction = "macroX" cControl.Enabled = True If booErr Then cControl.Enabled = False Else cControl.Enabled = True End If End Sub =========== Revisa si es esto lo que necesitas, sino, no dudes en preguntar otra vez.
Como le puedo hacer para que un menu personalizado solo me aparezca en el libro que realmente voy a ocupar y no cada vez que abro excel
Puedes tener un procedimiento que se ejecute cuando cierras el libro y elimine la barra que creaste al abrirlo, algo como esto: ============== Sub eliminarMenu() Dim I As Integer Dim booEncontrado As Boolean On Error Resume Next For I = 1 To CommandBars(1).Controls.Count If LCase$(CommandBars(1).Controls(I).Caption) = "Mi Menú" Then Exit For End If Next I If LCase$(CommandBars(1).Controls(I).Caption) = "Mi Menú" Then CommandBars(1).Controls(I).Delete End If End Sub ==============