Office - Word, Excel und Co. 9.751 Themen, 41.573 Beiträge

Excel - eigenes Menü verändern

Rheinlaender / 6 Antworten / Baumansicht Nickles

Tach zusammen!

Ich hab folgendes Problemchen: in einer Vorgängerversion von Excel (jetzige ist Excel 2002) hab' ich mal einen eigenen Menüpunkt (mit Untermenüs) in der Menüleiste erstellt. Jetzt würde ich dieses Menü gerne verändern/Punkte löschen/anders aufteilen...
Das ist im Grunde auch kein Problem, funktioniert wunderbar - nur dass sich nach dem Speichern und erneuten Öffnen der Datei dieses Menü wieder im Ursprungszustand präsentiert.

Kann mir jemand sagen, wie ich eine dauerhafte Änderung erreiche?

Vielen Dank im Voraus.

Gruß
Rheinlaender

bei Antwort benachrichtigen
mumpel1 Rheinlaender „Excel - eigenes Menü verändern“
Optionen

Hallo!

1. Lösche mal die Excel10.xlb

2. Erstelle das Menü besser per VBA (z.B. über Add-In).
Folgenden Beispielcode in "DieseArbeitsmappe" einer leeren Arbeitsmappe. Dann anpassen. Anschließend die Datei als Add-In speichern und über den Add-In-Manager einbinden. Funktioniertn aber nicht mehr in Excel 2007, da es dort keine Menüs mehr gibt.

Private Sub Workbook_Open()
On Error Resume Next
Dim MenüNeu As CommandBarPopup
Dim MB As CommandBarControl
Dim MC As CommandBarPopup
Dim MA As CommandBarControl
Dim myBar As Object
Set myBar = CommandBars(1) 'ermittelt die Indexnummer
Set ctrl1 = myBar.Controls("?") 'des Menüs Datei
'Erstellt das temporäre Menü "ArbeitsZeit" mit Untermenüs
Set MenüNeu = Application.CommandBars(1).Controls.Add(Before:=ctrl1.Index, _
Type:=msoControlPopup) 'Menütitel
With MenüNeu
.Caption = "Arbeits&Zeit"
.TooltipText = "Hiermit können Sie die Makros dieser " & _
"Arbeitsmappe über die Tastatur ausführen"
.BeginGroup = True
End With
On Error Resume Next
Set MC = MenüNeu.Controls.Add(Type:=msoControlPopup)
With MC
.Caption = "&Monats-Auswahl"
.BeginGroup = True
End With
Set MB = MC.Controls.Add(Type:=msoControlButton)
With MB
.Caption = "&Januar"
.Style = msoButtonCaption
.OnAction = "JanEin"
End With
Set MB = MC.Controls.Add(Type:=msoControlButton)
With MB
.Caption = "&Februar"
.Style = msoButtonCaption
.OnAction = "FebEin"
End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
With MA
.Caption = "Antr&äge aufrufen"
.Style = msoButtonIconAndCaption
.FaceId = 42
.OnAction = "Aufruf_show"
.BeginGroup = True
End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
With MA
.Caption = "&Persönliche Daten eingeben"
.Style = msoButtonIconAndCaption
.FaceId = 1665
.OnAction = "PersönlicheDaten"
.BeginGroup = True
End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
With MA
.Caption = "Arbeitszeiten &verwalten"
.Style = msoButtonIconAndCaption
.FaceId = 125
.OnAction = "Arbeitszeiten"
End With
Set MA = MenüNeu.Controls.Add(Type:=msoControlButton)
With MA
.Caption = "Zuschl&äge berechnen"
.Style = msoButtonIconAndCaption
.FaceId = 395
.OnAction = "Kosten"
End With

End Sub

Private Sub Workbook_BeforeClose(cancel As Boolean)
On Error Resume Next
With Application.CommandBars(1)
.Controls("ArbeitsZeit").Delete
End With
End Sub

Gruß, René

bei Antwort benachrichtigen
Rheinlaender mumpel1 „Hallo! 1. Lösche mal die Excel10.xlb 2. Erstelle das Menü besser per VBA z.B....“
Optionen

Hallo nochmal,

sorry, kann mich erst jetzt melden, weil ich den Rechner neu aufsetzen musste. Danke für Deine Mühe, aber das "Problem" ist leider geblieben.
Ich hab die Excel10.xlb bei geschlossenem Excel gelöscht, ich hab sie mit der geöffneten Datei gelöscht und dann das Menü entfernt, immer taucht das Mistding wieder auf. Schlimmer als ein Virus. ;-)

Gibt's noch Alternativen?

Gruß
Rheinlaender

bei Antwort benachrichtigen
mumpel1 Rheinlaender „Hallo nochmal, sorry, kann mich erst jetzt melden, weil ich den Rechner neu...“
Optionen

Wie hast Du die Symbolleiste erstellt? Über die Excel-Oberfläche (Anpassen) oder über Code? Ich vermute mal letzteres, da das Problem ja auch nach dem Neuaufsetzen Deines Systems geblieben ist. In diesem Fall musst Du den Code anpassen.

bei Antwort benachrichtigen
Rheinlaender mumpel1 „Wie hast Du die Symbolleiste erstellt? Über die Excel-Oberfläche Anpassen oder...“
Optionen

Nein, über den Symbolleisten-Anpassen-Dialog hab' ich das gemacht. Deswegen wundere ich mich ja auch so. Es war aber wie gesagt in einer noch früheren Excel-Version (weiß gar nicht mehr welche), deswegen hatte ich die Hoffnung, dass es da noch andere Orte geben kann, wo sich so ein Menüeintrag verstecken kann.

Gruß
Rheinlaender

bei Antwort benachrichtigen
mumpel1 Rheinlaender „Nein, über den Symbolleisten-Anpassen-Dialog hab ich das gemacht. Deswegen...“
Optionen

Möglicherweise. Lösche mal alle Dateien aus dem Ordner mit dem Namen XLSTART. Von diesem gibt es zwei. Einmal im Installationspfad der Officeversion und einmal unter "C:\Dokumente und Einstellungen..".

bei Antwort benachrichtigen
Rheinlaender mumpel1 „Möglicherweise. Lösche mal alle Dateien aus dem Ordner mit dem Namen XLSTART....“
Optionen

Hmmm. Sind beide leer.

Trotzdem Danke.

bei Antwort benachrichtigen