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

Forumthread: Menüleiste ausblenden

Menüleiste ausblenden
15.06.2004 21:39:07
Valeri
Hallo Forum,
ich habe folgenden Code für das ausblenden der Menüleiste und so:
Option Explicit
Dim cb As CommandBar

Sub aus()
For Each cb In CommandBars
cb.Enabled = False
Next
End Sub


Sub ein()
For Each cb In CommandBars
cb.Enabled = True
Next
End Sub

Kann mir jemand den Code so erweitern das die Bearbeitungs- und die Statusleiste auch mit ausgeblendet werden?
Danke im Voraus
Gruß Valeri
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Menüleiste ausblenden
Udo
Das kannst du mit dem Makrorekorder aufzeichnen.
Udo
AW: Menüleiste ausblenden
15.06.2004 21:42:51
Headhunter
hallo,
das trifft sich ja gut, ich habe heute erst folgenden text geschrieben !
Symbolleisten an Arbeitsmappen binden
Versionen : Excel97, 2000, 2002/XP und 2002
In Excel können Sie Symbolleisten mit wenig Aufwand bearbeiten oder auch neu erstellen. Selbst erstellte Makros lassen sich auf diese Weise komfortabel aufrufen oder immer wieder benötigte Standardfunktionen von Excel bequem an eine Stelle zusammenfassen. Beim Einsatz von Symbolleisten taucht immer wieder ein Problem auf: Wie erreichen Sie, dass eine Symbolleiste speziell an eine Arbeitsmappe gebunden wird? Auf diese Weise könnten Sie die Symbolleiste mit wenig Aufwand auch an andere Anwender weitergeben und außerdem dafür sorgen, dass die Funktionen nur dann zur Verfügung stehen, wenn sie gerade benötigt werden. Die offensichtliche Methode, ist folgende:
1. Nachdem Sie die Symbolleiste erstellt haben, wechseln Sie in die Arbeitsmappe, mit der sie verbunden werden soll.
2. Wählen Sie im Menü „Ansicht – Symbolleisten – Anpassen“ an und wechseln Sie auf die Registerkarte „Symbolleisten“.
3. Klicken Sie auf „Anfügen“ und markieren Sie im nachfolgenden Dialogfeld die Symbolleiste, die an die aktuelle Arbeitsmappe gebunden werden soll.
4. Mit „Kopieren, OK“ und „Schließen“ beenden Sie den Vorgang
Die gewünschte Symbolleiste ist damit fest an die Arbeitsmappe gebunden und in ihr gespeichert. Wenn Sie die Datei auf einem anderen Rechner öffnen, stehen die neuen Symbole auch dort sofort zur Verfügung. Bis zu diesem Punkt könnte man davon ausgehen, dass Excel über ein ähnlich intelligentes System zur Verwaltung von Symbolleisten verfügt wie Word. Hier werden die Symbolleisten mit einer Datei geladen und nach dem Schließen auch automatisch entfernt. Nicht so bei Excel: Wie Sie feststellen werden, übertragen Sie eine Symbolleiste mit dem oben gezeigten Verfahren permanent auf Excel. Sie bleibt also auch nach dem Schließen der Datei sichtbar und lässt sich nur durch manuelles Löschen oder Ausblenden beseitigen. Öffnen Sie die Arbeitsmappe dann wieder, bleibt die ausgeblendete Symbolleiste allerdings unsichtbar und muss manuell wieder aufgerufen werden. Also kurz gesagt ist das ganze wenig komfortabel und äußerst lästig.
Der Grund für dieses Verhalten von Excel: Alle neuen und veränderten Symbolleisten werden grundsätzlich in einer XLB – Datei im Windows – Verzeichnis abgelegt. Sobald Sie eine Datei mit einer angefügten Symbolleiste öffnen, wird die Symbolleiste in die XLB – Datei übertragen und damit unabhängig von der Arbeitsmappe gespeichert.
Die sauberste Methode, um Probleme mit benutzerdefinierten Symbolleisten zu vermeiden besteht darin, sie beim Öffnen einer Arbeitsmappe per VBA zu erstellen und dann beim schließen wieder zu löschen, denn auf diese Weise umgehen Sie die XLB – Datei und können sicher sein, dass die Symbolleiste fest an eine bestimmte Datei gebunden ist. Wir werden uns in einer der kommenden Ausgaben noch näher mit der programmatischen Steuerung von Symbolleisten beschäftigen.
In diesem Tipp möchten wir Ihnen aber noch zwei einfache Alternativen vorstellen, die sich mit weniger Aufwand umsetzen lassen. Bei der ersten Technik akzeptieren Sie einfach, dass die angefügte Symbolleiste in der XLB – Datei gespeichert wird und damit ständig in Excel verfügbar ist. Mit zwei einfachen VBA – Prozeduren sorgen Sie lediglich dafür, dass die Symbolleisten beim Öffnen der gewünschten Arbeitsmappe ein- und beim Schließen wieder ausgeblendet wird. Wechseln Sie dazu mit „ALT + F11“ in den Visual Basic- Editor und suchen Sie im Projekt – Explorer nach dem Eintrag der gewünschten Arbeitsmappe. Öffnen Sie in der Baumstruktur die untergeordneten Zweige der Arbeitsmappe und der Ebene „Microsoft Excel Objekte“. Führen Sie dann einen Doppelklick auf „Diese Arbeitsmappe“ durch und fügen Sie folgenden Code ein;

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars (“Symbolleiste”).Visible = False
End Sub


Private Sub Workbook_Open()
Aplication.CommandBars (“Symbolleiste”). Visible = True
End Sub

Ersetzen Sie dabei “Symbolleiste” durch den Namen der Symbolleiste, die automatisch ein- und ausgeblendet werden soll. Danach können Sie den Editor über „Datei – Schließen und zurück zu Microsoft Excel“ verlassen und die Datei speichern.
Eine Alternative zu dieser Technik besteht darin, die Symbolleiste, die an eine Arbeitsmappe angefügt ist, automatisch beim Schließen der Datei zu löschen. Dazu gehen Sie genauso vor, wie oben beschrieben und fügen statt dessen folgenden Code ein:

Private Sub Workbook_BeforeClose (Cancel As Boolean)
On Error Resume Next
Application.CommandBars (“Symbolleiste”).Delete
End Sub

Beim Öffnen der Arbeitsmappe wird die Symbolleiste daraufhin automatisch angezeigt, weil sie an die Datei angefügt ist. Beim Schließen wird die Symbolleiste aus der XLB – Datei von Excel gelöscht, sie bleibt aber in der Arbeitsmappe aber erhalten.
MfG
HANS
Anzeige
AW: Menüleiste ausblenden
K.Rola
Hallo,
ich weiß nicht, wofür du das geschrieben hast, aber die Geschichte hat einen kleinen
Haken. Wenn user die Datei schließt und dabei gefragt wird, ob er die Änderung
speichern möchte, sich dann aber entschließt abzubrechen, also nicht zu schließen,
ist die Symbolleiste bereits gelöscht.
Gruß K.Rola
Anzeige
AW: Menüleiste ausblenden
17.06.2004 15:09:47
Valeri
Danke an Alle,
Valeri
;
Anzeige
Anzeige

Infobox / Tutorial

Menüleiste in Excel ausblenden und einblenden


Schritt-für-Schritt-Anleitung

Um die Menüleiste in Excel auszublenden, kannst du folgendes VBA-Makro verwenden:

Sub aus()
    Dim cb As CommandBar
    For Each cb In CommandBars
        cb.Enabled = False
    Next
End Sub

Um das Menüband wieder einzublenden, kannst du diesen Code verwenden:

Sub ein()
    Dim cb As CommandBar
    For Each cb In CommandBars
        cb.Enabled = True
    Next
End Sub

Wenn du auch die Statusleiste ausblenden möchtest, kannst du den folgenden Code ergänzen:

Sub aus()
    Dim cb As CommandBar
    For Each cb In CommandBars
        cb.Enabled = False
    Next
    Application.DisplayStatusBar = False
End Sub

Sub ein()
    Dim cb As CommandBar
    For Each cb In CommandBars
        cb.Enabled = True
    Next
    Application.DisplayStatusBar = True
End Sub

Häufige Fehler und Lösungen

  1. Fehler: Makros funktionieren nicht in Excel

    • Stelle sicher, dass Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option, die Makros zulässt.
  2. Fehler: Die Statusleiste bleibt sichtbar

    • Überprüfe, ob der Code zum Ausblenden der Statusleiste korrekt implementiert ist. Achte darauf, dass Application.DisplayStatusBar = False im richtigen Sub steht.

Alternative Methoden

Eine andere Möglichkeit, das Menüband in Excel auszublenden, ist die Verwendung des Makrorekorders:

  1. Makro aufzeichnen: Gehe zu Entwicklertools > Makro aufzeichnen.
  2. Aktionen durchführen: Blende die Menüleiste manuell aus.
  3. Aufzeichnung beenden und das Makro überprüfen.

Diese Methode ist besonders nützlich, wenn du nicht mit VBA vertraut bist.


Praktische Beispiele

Angenommen, du möchtest die Menüleiste bei der Öffnung einer bestimmten Arbeitsmappe ausblenden und bei der Schließung wieder einblenden. Du kannst den folgenden Code in Diese Arbeitsmappe einfügen:

Private Sub Workbook_Open()
    Call aus
End Sub

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

Tipps für Profis

  • Menüband fixieren: Wenn du das Menüband jederzeit sichtbar halten möchtest, kannst du die Einstellung Application.CommandBars("Menu Bar").Enabled = True verwenden, um es wieder zu aktivieren.
  • Sichere deine XLB-Datei: Da Excel die Menüs in der XLB-Datei speichert, könnte es hilfreich sein, regelmäßig Sicherungen dieser Datei zu erstellen, besonders wenn du viele Anpassungen vornimmst.

FAQ: Häufige Fragen

1. Wie kann ich die Bearbeitungsleiste in Excel ausblenden?
Verwende den Befehl Application.DisplayFormulaBar = False in deinem VBA-Code, um die Bearbeitungsleiste auszublenden.

2. Wo finde ich die XLB-Datei?
Die XLB-Datei befindet sich im Windows-Verzeichnis und speichert alle benutzerdefinierten Symbolleisten. Du kannst sie öffnen, um Änderungen vorzunehmen oder sie zu sichern.

3. Kann ich auch in Word die Bearbeitungsleiste ausblenden?
Ja, du kannst die Bearbeitungsleiste in Word mit dem Befehl Application.CommandBars("Bearbeitungsleiste").Visible = False ausblenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige