ich habe eine Arbeitsmappe, bei deren Start die standardmäßige Menüleiste ausgeblendet und eine eigene eingeblendet wird. Das funktioniert soweit auch ganz gut, allerdings handelt es sich immer um die gleichen Menüpunkte "Datei" und "Funktion", die Untereinträge differieren jedoch von Blatt zu Blatt. Derzeit wird die neue Menüleiste bei jedem Wechsel erstellt und bei verlassen gelöscht. Allerdings entsteht so ein unschönes flackern, das sich auch mit screnupdate = false nicht beheben lässt.
Gut wäre, wenn die Menüepunkte bestehen bleiben und nur die Untereinträge ausgetauscht werden könnten.
Vielleicht hat ja jemnd eine Idee; folgende der derzeitige Code
Private Sub Worksheet_Activate()
Set cmdMenuBar = Application.CommandBars.Add(Name:="Benutzerdefiniert", _
MenuBar:=True, _
Temporary:=True)
cmdMenuBar.Visible = True
Set Datei = Application.CommandBars.ActiveMenuBar
Set Dateip = Datei.Controls.Add(Type:=msoControlPopup)
Dateip.Caption = "Datei"
With Dateip.Controls.Add
.Caption = "Datei öffnen"
.OnAction = "subOeffnen"
End With
Set Funktion = Application.CommandBars.ActiveMenuBar
Set Funktionp = Funktion.Controls.Add(Type:=msoControlPopup)
Funktionp.Caption = "Funktion"
With Funktionp.Controls.Add
.Caption = "Daten exportieren"
.OnAction = "subDiagramme"
End With
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Deactivate()
On Error GoTo Errorhandler
Application.CommandBars("Benutzerdefiniert").Delete
Application.ScreenUpdating = False
Errorhandler: Exit Sub
End Sub
Vielen Dank im voraus
Thomas