Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Eigene Menüleiste mit Untermenü's erstellen

Gruppe

Bar

Problem

Wie kann ich in XL8 eine eigene Menüleiste mit Untermenüs erstellen und diese anstelle der Tabellenblattmenüleiste anzeigen lassen.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Call MenuLoeschen
End Sub

StandardModule: basMain

Sub MenuErstellen()
   Dim oBar As CommandBar
   Dim oPopUp As CommandBarPopup
   Dim oBtn As CommandBarButton
   Set oBar = Application.CommandBars.Add( _
      Name:="MyCommandBar", _
      Position:=msoBarTop, _
      MenuBar:=True, _
      temporary:=True)
   Set oPopUp = oBar.Controls.Add(Type:=msoControlPopup)
   oPopUp.Caption = "Menü1"
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Erster Menüpunkt"
      .Style = msoButtonCaption
   End With
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Zweiter Menüpunkt"
      .Style = msoButtonCaption
   End With
   Set oPopUp = oBar.Controls.Add(Type:=msoControlPopup)
   oPopUp.Caption = "Menü2"
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Erster Menüpunkt"
      .Style = msoButtonCaption
   End With
   Set oBtn = oPopUp.Controls.Add
   With oBtn
      .Caption = "Zweiter Menüpunkt"
      .Style = msoButtonCaption
   End With
   CommandBars("MyCommandbar").Visible = True
End Sub

Sub MenuLoeschen()
   On Error Resume Next
   Application.CommandBars("MyCommandbar").Delete
   On Error GoTo 0
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen Menue und Bar