Hallo Excelprofis!
Ich habe bei:
www.excelerator.de -Download -Udo's Menü
folgende Menüs gefunden. Diese funktionieren auch super (mit eingefügten Makros natürlich). Allerdings setzen sich die beiden Menüs immer unter die Symbolleiste. Ich möchte aber folgendes erreichen.:
1. Das, oder die Menüs erscheinen in der oberen Menüleiste vor dem Menüfeld "Hilfe"
2. Ich möchte das ganze als Add-In speichern, um es auch leicht weitergeben zu können, bzw. auch leicht über den Add-Ins Manager ab- und anzuschalten.
Wie muß ich das anstellen, bzw. wie muß der Code verändert werden um dies zu erreichen, habe leider von VBA wenig Ahnung.
Danke für die Hilfe!
Diese Arbeitsmappe:
Option Explicit
Private Sub Workbook_Activate()
Application.CommandBars("MeineLeiste").Visible = True
End Sub
Private Sub Workbook_deactivate()
On Error Resume Next
Application.CommandBars("MeineLeiste").Visible = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("MeineLeiste").Delete
End Sub
Private Sub Workbook_Open()
Call Menü_einfügen
End Sub
Modul1:
Sub Menü_einfügen()
Dim NeuesMenue As CommandBar, St As CommandBarButton, Pop1 As CommandBarPopup
On Error Resume Next
Application.CommandBars("MeineLeiste").Delete
On Error GoTo 0
Set NeuesMenue = CommandBars.Add(Name:="MeineLeiste", temporary:=True)
With NeuesMenue
.Position = msoBarTop
.Visible = True
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 1"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 1.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 3.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_3"
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 2"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_2_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.2"
.Style = msoButtonCaption
.OnAction = "Makro_2_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.3"
.Style = msoButtonCaption
.OnAction = "Makro_2-3"
End With
'und so weiter und so fort
End Sub
Sub Makro_1()
MsgBox "Erstes Makro"
End Sub
Sub Makro_2()
MsgBox "Zweites Makro"
End Sub
Sub Makro_3()
MsgBox "Drittes Makro"
End Sub
mfg Andreas