Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Menüleiste ausblenden

Excel Menüleiste ausblenden
09.01.2022 13:48:56
Edmund
Hallo,
ich möchte beim Start meines Programmes die Excel Menüleiste ausblenden lassen, damit nicht jemand hier etwas verändern kann, und beim Schließen dann wieder einblenden, damit beim normalen Excelprogramm diese wieder da ist.
Habe mir den Code aus dem Archiv kopiert, klappt aber nicht so richtig.
Warscheinlich muss ich den Namen der Menüleiste ändern. Vielleicht kann mir ja einer kurz helfen.
Schon jetzt einmal vielen Dank
lg Edmund

Sub AllesAusEinBlenden()
Dim oBar As CommandBar
With CommandBars("Worksheet Menu Bar")
If .Enabled Then
.Enabled = False
Application.DisplayFullScreen = True
For Each oBar In Application.CommandBars
If oBar.Name  "Worksheet Menu Bar" Then
If oBar.Visible Then
oBar.Visible = False
End If
End If
Next oBar
ActiveWorkbook.Protect Windows:=True
Else
ActiveWorkbook.Unprotect
.Enabled = True
Application.DisplayFullScreen = False
End If
End With
End Sub
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Menüleiste ausblenden
09.01.2022 15:37:09
Alwin
Hallo Edmund,
das geht im Ribbon. Benutze dazu einen Ribbon Editor lege ein eigenes Ribbon an und trage in dieses folgendes ein:


Es bleibt dann nur noch der der Reiter Datei. Ins eigene Ribbon kannst du dann die Buttons für die eigenen Prozeduren einbauen. Im Netz gibt es dazu diverse Workshops.
Anbei mal ein Beispiel was ich vor einiger Zeit mal für jemanden gebastelt hatte.
https://www.herber.de/bbs/user/150275.xlsm
Gruß Uwe
Anzeige
AW: Excel Menüleiste ausblenden
09.01.2022 15:41:49
Alwin
Eine Frage an alle: Wie bekommt man Befehle des RibbonUI korrekt dargestellt in dieser Formussoftware?
Gruß Uwe
AW: Excel Menüleiste ausblenden
09.01.2022 15:49:24
mumpel
Dafür musst Du die Spitzklammern maskieren.
AW: Excel Menüleiste ausblenden
09.01.2022 15:39:12
Alwin
Das es mit Ribbon befehlen s onich klappt jetzt als Text:
Anzeige
AW: Excel Menüleiste ausblenden
09.01.2022 15:50:46
mumpel
Schau Dir dazu meinen RibbonX-Workshop an.
AW: Excel Menüleiste ausblenden
09.01.2022 18:34:31
Edmund
Habe es hiermit mal versucht.

Private Sub Workbook_Open()
With ThisWorkbook
'Menüband ausblenden
Application.DisplayFullScreen = True
'Spalten und Zeilenbezeichnung ausblenden
ActiveWindow.DisplayHeadings = False
'Blattregister unten ausblenden
ActiveWindow.DisplayWorkbookTabs = False
End With
End Sub
Geht perfekt.
Leider wenn ich dann ein anderes Excel Programm öffne ist die Menüleiste immer noch weg.
Habe dann beim Schließen meines Programms das hinzugefügt.
Funktioniert aber nicht.
Sub Programm_beenden()
'Dim wb As Workbook
'antwort = MsgBox("Soll die Änderung am" & wb.Name & "Programm gespeichert werden?" & vbLf & _
'"Ja = es werden die Änderungen gespeichert" & vbLf & _
'"Nein = Beenden ohne zu speichern", vbExclamation + vbYesNoCancel, "ImmoGrandeTool")
antwort = MsgBox("Wenn die Änderungen an der Berechnung gespeichert werden sollen," & vbLf & _
"Abbrechen und dann zuerst Berechnung speichern!" & vbLf & vbLf & _
"Ja = speichert die Änderungen am Programm" & vbLf & _
"Nein = beendet das Programm ohne zu speichern", vbExclamation + vbYesNoCancel, "ImmoGrandeTool")
If antwort = 6 Then
With ThisWorkbook
'Menüband einblenden
Application.DisplayFullScreen = False
'Spalten und Zeilenbezeichnung einblenden
ActiveWindow.DisplayHeadings = True
'Blattregister unten einblenden
ActiveWindow.DisplayWorkbookTabs = True
End With
ThisWorkbook.Save
Application.Quit
ElseIf antwort = 7 Then
ThisWorkbook.Saved = True
Application.Quit
ElseIf antwort = 2 Then
'Application.Quit
End If
End Sub
Anzeige
AW: Excel Menüleiste ausblenden
09.01.2022 18:47:31
Oberschlumpf
Hi Edmund,
das, was du ins Workbook_Open-Ereignis eingetragen hast, musst du mit den entgegengesetzen Werten (aus False wird True und umgekehrt) auch ins Workbook_WindowDeactivate-Ereignis (und vielleicht auch ins Before_Close-Ereignis) eintragen.
Hilfts?
Ciao
Thorsten
AW: Excel Menüleiste ausblenden
11.01.2022 09:54:48
Edmund
Hallo Torsten,
sorry aber ich bin nicht er Experte in VBA. Ich möchte eigentlich nur, dass Benutzer meines Programms nicht an die VBA Codes kommen und diese kopieren bzw verändern können. Hatte gedacht, dass durch das Ausblenden der Menüleiste ( nur die Menüleiste ) man das am einfachsten machen kann.
Ich bekomme das aber nicht so hin. Wichtig ist aber auch, dass nach schließen des Programmes alles wieder zurückgesetzt wird damit im normalen Excelproramm wieder alles da ist.
Anzeige
AW: Excel Menüleiste ausblenden
11.01.2022 10:08:03
Oberschlumpf
Hi Edmund,
ähh...noch einfacher gehts doch, wenn du im VBE unter
Extras/Eigenschaften von VBAProjekt/Schutz
oben den Haken setzt und unten 2x ein Passwort einträgst
Dafür brauchst du null VBA-Code, und trotzdem wird dein Code vor unerwünschten Blicken geschützt.
Ciao
Thorsten
Anzeige
AW: Excel Menüleiste ausblenden
11.01.2022 14:26:48
Edmund
Super, vielen Dank - das ist genau das was ich wollte
lg Edmund
freut mich, gerne owT
11.01.2022 14:37:09
Oberschlumpf
AW: Excel Menüleiste ausblenden
11.01.2022 10:10:37
Piet
Hallo Edmund
solange dein VBA Editor nicht durch ein Passwort geschützt ist kann jeder in deinen Makros rumpfuschen!
Das Passwort kannst du im VBA Editor unter Menü "Extras" einfügen. Du solltest es aber nicht vergessen.
Unabhängig davon empfehele ich eine Kopie Datei ohne Passwort auf einen USB Stick zu kopieren. Sicher ist sicher.
mfg Piet
Anzeige
AW: Excel Menüleiste ausblenden
11.01.2022 14:28:18
Edmund
Dnake, habs gemacht - klappt perfekt
lg Edmund
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Menüleiste ausblenden und wieder einblenden


Schritt-für-Schritt-Anleitung

Um die Excel Menüleiste auszublenden, kannst du den folgenden VBA-Code verwenden. Dieser Code blendet das Menüband beim Öffnen deiner Arbeitsmappe aus und stellt es beim Schließen wieder her.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Doppelklicke im Projektfenster auf DieseArbeitsmappe.
  3. Füge den folgenden Code in das Fenster ein:
Private Sub Workbook_Open()
    ' Menüband ausblenden
    Application.DisplayFullScreen = True
    ' Spalten und Zeilenbezeichnung ausblenden
    ActiveWindow.DisplayHeadings = False
    ' Blattregister unten ausblenden
    ActiveWindow.DisplayWorkbookTabs = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ' Menüband wieder einblenden
    Application.DisplayFullScreen = False
    ' Spalten und Zeilenbezeichnung einblenden
    ActiveWindow.DisplayHeadings = True
    ' Blattregister unten einblenden
    ActiveWindow.DisplayWorkbookTabs = True
End Sub
  1. Schließe den VBA-Editor und speichere deine Arbeitsmappe als Makro-fähige Datei (.xlsm).
  2. Schließe und öffne die Datei, um die Änderungen zu testen.

Häufige Fehler und Lösungen

  • Menüleiste bleibt ausgeblendet: Stelle sicher, dass der Code im Workbook_BeforeClose korrekt implementiert ist und dass du die Datei tatsächlich schließt.
  • VBA-Code nicht sichtbar: Vergiss nicht, die Datei als .xlsm zu speichern. Wenn du sie als .xlsx speicherst, wird der VBA-Code nicht berücksichtigt.
  • Fehlermeldungen beim Ausführen: Überprüfe, ob alle notwendigen Objekte korrekt referenziert sind. In einigen Excel-Versionen kann der Zugriff auf bestimmte Objekte eingeschränkt sein.

Alternative Methoden

Falls du eine einfachere Methode zur Steuerung der Menüleiste bevorzugst, kannst du den Ribbon Editor verwenden, um ein eigenes Ribbon zu erstellen und damit die Standard-Menüleiste zu ersetzen. Dazu:

  1. Lade einen Ribbon-Editor herunter (z.B. Custom UI Editor).
  2. Erstelle ein neues Ribbon mit dem folgenden XML-Code:
<ribbon startfromscratch="true">
</ribbon>
  1. Dies blendet das gesamte Menüband aus, bis du eigene Buttons hinzufügst.

Praktische Beispiele

Ein einfaches Beispiel, um die Excel Menüleiste auszublenden und wieder einzublenden, ist der folgende VBA-Code. Dieser wird häufig in Anwendungen verwendet, die nicht möchten, dass Benutzer den VBA-Code einsehen oder ändern können:

Sub ToggleMenüband()
    If Application.DisplayFullScreen Then
        Application.DisplayFullScreen = False
    Else
        Application.DisplayFullScreen = True
    End If
End Sub

Dieser Code kann durch eine Schaltfläche in deinem Excel-Dokument ausgelöst werden.


Tipps für Profis

  • Menüband dauerhaft einblenden: Um das Menüband dauerhaft einzublenden, kannst du die Application.DisplayFullScreen-Eigenschaft auf False setzen und den entsprechenden Code im Workbook_Open-Ereignis entfernen.
  • Excel Extras einblenden: Wenn du Excel Extras benötigst, stelle sicher, dass du die Menüs in der Entwicklertools-Option aktiviert hast.
  • Makro-Sicherheit: Denke daran, deine Makros zu schützen, indem du ein Passwort im VBE unter Extras > Eigenschaften von VBA-Projekt > Schutz einfügst.

FAQ: Häufige Fragen

1. Wie kann ich die Menüleiste wieder einblenden, wenn ich sie versehentlich ausgeblendet habe? Um die Menüleiste wieder einzublenden, kannst du den Code in ein neues Makro einfügen, das Application.DisplayFullScreen = False ausführt.

2. Was passiert mit meinen VBA-Codes, wenn ich die Menüleiste ausblende? Deine VBA-Codes bleiben intakt, aber der Zugriff auf die Menüleiste, in der du deine Codes verwaltest, wird eingeschränkt. Es ist daher sinnvoll, auch den Zugriff auf den VBA-Editor zu schützen.

3. Funktioniert das Ausblenden der Menüleiste in allen Excel-Versionen? Ja, das Ausblenden der Menüleiste funktioniert in den meisten modernen Excel-Versionen, die VBA unterstützen. Achte darauf, dass deine Version die Nutzung von VBA-Codes ermöglicht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige