Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Benutzermodus Menü ausblenden

Benutzermodus Menü ausblenden
06.02.2023 12:30:46
Christian
Hallo zusammen,
ich habe ein Tabelle mit verschiedenen Tabellenblättern erstellt, ich möchte diese meinen Kollegen diese als eigenständiges Programm zur Verfügung stellen. Mit dem
unten genannten Code funktioniert dies auch ganz gut ( Benutermodus / Entwicklermodus) ... Öffnet man jedoch ein zweites mal Excel.. wechselt Excel zwischen den
zwei Excel Tabellen wie wild umher bis schlussendlich ein Fehler erscheint..
Kann mir vielleicht jemand einen Tipp geben was ich falsch gemacht habe.
Sub Benutzermodus()
Dim ws As Worksheet
With Application
        .Caption = "TECHNISCHE VERTRIEBSUNTERSTÜTZUNG"  ' Titel
        .ExecuteExcel4Macro "Show.Toolbar(""Ribbon"",False)"  ' Menüleiste ausblenden
        .DisplayFormulaBar = False 'Bearbeitunsleiste ausblenden
        .DisplayStatusBar = False 'Statusleiste ausblenden       
End With
With ActiveWindow
    .Caption = ""
    .DisplayWorkbookTabs = False ' Tabellenblattleiste ausblenden
    .WindowState = xlMaximized
  
    ' Scrollleiste einblenden
    .DisplayVerticalScrollBar = False
    .DisplayHorizontalScrollBar = False
End With
For Each ws In ThisWorkbook.Worksheets  ' Überschriftszeile auf allen Tabellenblättern ausblenden
 ws.Activate
 ActiveWindow.DisplayHeadings = False
Next ws
Startseite.Select
Startseite.ScrollArea = "A1"
End With
End Sub
Sub Entwicklermodus()
Dim ws As Worksheet
With Application
        .Caption = "TECHNISCHE VERTRIEBSUNTERSTÜTZUNG"  ' Titel
        .ExecuteExcel4Macro "Show.Toolbar(""Ribbon"",True)"  ' Menüleiste einblenden
        .DisplayFormulaBar = True 'Bearbeitunsleiste einblenden
        .DisplayStatusBar = True 'Statusleiste einblenden
 End With
With ActiveWindow
    .Caption = ""
    .DisplayWorkbookTabs = True ' Tabellenblattleiste einblenden
    .WindowState = xlNormal ' Größe festlegen
  
     ' Scrollleiste einblenden
    .DisplayVerticalScrollBar = True
    .DisplayHorizontalScrollBar = True
    
End With
For Each ws In ThisWorkbook.Worksheets  ' Überschriftszeile auf allen Tabellenblättern einblenden
ws.Activate
ActiveWindow.DisplayHeadings = True
Next ws
Startseite.Select
Startseite.ScrollArea = ""
End Sub
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzermodus Menü ausblenden
06.02.2023 14:41:01
ChrisL
Hi
Wie lautet die Fehlermeldung und auf welcher Zeile steht der Debugger?
Im ersten Makro steht noch ein "End With" alleine da.
Du schreibst "zweites Excel" und "Wechsel zwischen Tabellen". Meinst du eine zweite Excel-Datei oder Excel Instanz? Hat die zweite Excel-Datei die gleichen Makros? Wechsel zwischen Tabelle bedeutet Wechsel zwischen Arbeitsmappen? Gibt es Events, welche die Makros starten oder geht es manuell? Woher kommt die Startseite?
Eigentlich stochere ich nur mal rum, ohne konkrete Idee (bitte die Frage wieder als offen kennzeichnen). Ich denke es würde helfen, wenn du das Problem mal eingrenzt. Ich würde den Prozess mal unterteilen und getrennt testen. Und wenn du weisst, ob Prozess 1 oder 2 streikt, kannst du es erneut unterteilen.
Sub Benutzermodus1()
With Application
        .Caption = "TECHNISCHE VERTRIEBSUNTERSTÜTZUNG"  ' Titel
        .ExecuteExcel4Macro "Show.Toolbar(""Ribbon"",False)"  ' Menüleiste ausblenden
        .DisplayFormulaBar = False 'Bearbeitunsleiste ausblenden
        .DisplayStatusBar = False 'Statusleiste ausblenden
End With
With ActiveWindow
    .Caption = ""
    .DisplayWorkbookTabs = False ' Tabellenblattleiste ausblenden
    .WindowState = xlMaximized
  
    ' Scrollleiste einblenden
    .DisplayVerticalScrollBar = False
    .DisplayHorizontalScrollBar = False
End With
End Sub
Sub Benutzermodus2()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets  ' Überschriftszeile auf allen Tabellenblättern ausblenden
 ws.Activate
 ActiveWindow.DisplayHeadings = False
Next ws
Startseite.Select
Startseite.ScrollArea = "A1"
End Sub
cu
Chris
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Benutzermodus Menü ausblenden in Excel


Schritt-für-Schritt-Anleitung

Um das Excel-Menü auszublenden und im Benutzermodus zu arbeiten, kannst du den folgenden VBA-Code verwenden. Dieser Code blendet die Menüleiste, die Statusleiste und die Arbeitsblatt-Überschriften aus. Achte darauf, dass du die Makros in der richtigen Excel-Version (ab Excel 2010) ausführst.

Sub Benutzermodus()
    Dim ws As Worksheet
    With Application
        .Caption = "TECHNISCHE VERTRIEBSUNTERSTÜTZUNG"  ' Titel
        .ExecuteExcel4Macro "Show.Toolbar(""Ribbon"",False)"  ' Menüleiste ausblenden
        .DisplayFormulaBar = False 'Bearbeitungsleiste ausblenden
        .DisplayStatusBar = False 'Statusleiste ausblenden       
    End With
    With ActiveWindow
        .Caption = ""
        .DisplayWorkbookTabs = False ' Tabellenblattleiste ausblenden
        .WindowState = xlMaximized

        ' Scrollleiste ausblenden
        .DisplayVerticalScrollBar = False
        .DisplayHorizontalScrollBar = False
    End With
    For Each ws In ThisWorkbook.Worksheets  ' Überschriften auf allen Tabellenblättern ausblenden
        ws.Activate
        ActiveWindow.DisplayHeadings = False
    Next ws
    Startseite.Select
    Startseite.ScrollArea = "A1"
End Sub

Um in den Entwicklermodus zu wechseln und die Menüleiste wieder einzublenden, verwende diesen Code:

Sub Entwicklermodus()
    Dim ws As Worksheet
    With Application
        .Caption = "TECHNISCHE VERTRIEBSUNTERSTÜTZUNG"  ' Titel
        .ExecuteExcel4Macro "Show.Toolbar(""Ribbon"",True)"  ' Menüleiste einblenden
        .DisplayFormulaBar = True 'Bearbeitungsleiste einblenden
        .DisplayStatusBar = True 'Statusleiste einblenden
    End With
    With ActiveWindow
        .Caption = ""
        .DisplayWorkbookTabs = True ' Tabellenblattleiste einblenden
        .WindowState = xlNormal ' Größe festlegen

        ' Scrollleiste einblenden
        .DisplayVerticalScrollBar = True
        .DisplayHorizontalScrollBar = True
    End With
    For Each ws In ThisWorkbook.Worksheets  ' Überschriften auf allen Tabellenblättern einblenden
        ws.Activate
        ActiveWindow.DisplayHeadings = True
    Next ws
    Startseite.Select
    Startseite.ScrollArea = ""
End Sub

Häufige Fehler und Lösungen

Ein häufiger Fehler ist, dass der Code nicht korrekt ausgeführt wird, wenn es mehrere Excel-Instanzen oder Dateien gibt. Hier sind einige Tipps zur Fehlerbehebung:

  • Fehlermeldung: Wenn eine Fehlermeldung auftritt, überprüfe die Zeile, auf der der Debugger stoppt. Oft liegt das Problem in einem fehlenden End With oder einer falschen Referenz.

  • Zweite Excel-Datei: Stelle sicher, dass keine andere Excel-Datei mit identischen Makros geöffnet ist. Das kann zu Verwirrungen führen, wenn Excel zwischen den Arbeitsmappen wechselt.

  • Makro unterteilen: Teile den Prozess in kleinere Makros auf, um die Fehlerquelle leichter zu identifizieren.


Alternative Methoden

Wenn du das Excel-Menü ausblenden möchtest, aber keine VBA-Makros verwenden willst, kannst du auch die Ribbon-Anpassungen in Excel nutzen:

  1. Gehe zu Datei > Optionen.
  2. Wähle Menüband anpassen.
  3. Deaktiviere die Auswahl für das Ribbon, um die Menüleiste auszublenden.
  4. Dies funktioniert jedoch nur temporär und nicht für die gesamte Arbeitsmappe.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die oben genannten Codes verwenden kannst:

  • Benutzermodus aktivieren: Verwende den Benutzermodus, um eine Präsentation zu erstellen, wo nur die notwendigen Elemente sichtbar sind.

  • Entwicklermodus aktivieren: Nutze den Entwicklermodus, um deine Excel-Tools zu testen und alle Funktionen wiederherzustellen.

Zusätzlich kannst du einen Button erstellen, um diese Makros schnell auszuführen. Füge dazu einen Button aus den Entwicklertools hinzu und verlinke ihn mit dem entsprechenden Makro.


Tipps für Profis

  • Experimentiere mit den ActiveWindow-Eigenschaften, um das Benutzererlebnis weiter anzupassen, z. B. durch das Ausblenden von Scrollleisten oder das Anpassen der Fenstergröße.

  • Halte deine VBA-Codes sauber und gut dokumentiert, um bei Änderungen oder Fehlerbehebungen Zeit zu sparen.

  • Wenn du oft zwischen dem Benutzermodus und dem Entwicklermodus wechselst, überlege, ob du eine Schaltfläche oder ein Menü zur schnellen Aktivierung erstellen kannst.


FAQ: Häufige Fragen

1. Wie kann ich die Statusleiste wieder einblenden?
Um die Statusleiste wieder einzublenden, musst du den Entwicklermodus ausführen, der die Statusleiste aktivieren wird.

2. Warum funktioniert der Code nicht wie erwartet?
Überprüfe, ob du die richtigen Excel-Versionen verwendest und ob eventuell andere Makros oder Instanzen von Excel geöffnet sind, die Konflikte verursachen könnten.

3. Kann ich das Menü auch über die Excel-Oberfläche ausblenden?
Ja, du kannst das Menü über die Excel-Optionen ausblenden, aber die Anpassungen gelten nicht für alle Arbeitsmappen oder sind nicht so flexibel wie die Verwendung von VBA.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige