Multifunktionleiste in Excel einmal aus/immer aus

Hallo,
habe in einer Exceldatei (office2007) TEST1.xls ein VBA-Makro integriert, welches beim Start automatisch die Multifunktionsleiste ausblendet.
Starte ich nun über den Desktop eine 2. od. 3. Exceldatei ohne hinterlegten Makros, wird auch sofort bei Anzeige bei diesen Dateien d. Multifunktionsleiste ausgeblendet dargestellt. Warum ?

In „diese Arbeitsmappe“ steht:
Private Sub Workbook_Open()
Ausblenden_Multifunktionsleiste
Zeilen_Spaltenüberschriften_Aus
End Sub

In „Module1“ steht:
Sub Ausblenden_Multifunktionsleiste()
Application.ExecuteExcel4Macro „Show.Toolbar(“„Ribbon“", False)"
End Sub

Hallo Cruiserpaule,

die Toolbar ist nicht dokumentspezifisch, sondern global.

Gruss,

e-a-s-y

Hallo

Mit dem Code wird das Ribbon ausgeblendet und diese Einstellung speichert Excel.
Eine Möglichkeit dies zu Umgehen, wäre zB einen Code einzufügen, der das Ribbon beim Beenden dieser Mappe wieder einblendet.

Dafür muss man in dem Modul folgendes anhängen:

Sub Einblenden\_Multifunktionsleiste()
Application.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", True)"
End Sub

und in „DieseArbeitmappe“ folgendes einfügen:

Private Sub Workbook\_BeforeClose(Cancel As Boolean)
Einblenden\_Multifunktionsleiste
End Sub

Nun wird beim Beenden der Mappe das Ribbon standartmässig wieder eingeblendet.

Mit „Zeilen_Spaltenüberschriften_Aus“ wird wahrscheinlich auch eine Prozedur gestartet, doch diese kommt aus den Infos hier nicht heraus.

Viel Spass bei probieren.

Hallo,
habe in einer Exceldatei (office2007) TEST1.xls ein VBA-Makro
integriert, welches beim Start automatisch die
Multifunktionsleiste ausblendet.
Starte ich nun über den Desktop eine 2. od. 3. Exceldatei ohne
hinterlegten Makros, wird auch sofort bei Anzeige bei diesen
Dateien d. Multifunktionsleiste ausgeblendet dargestellt.
Warum ?

In „diese Arbeitsmappe“ steht:
Private Sub Workbook_Open()
Ausblenden_Multifunktionsleiste
Zeilen_Spaltenüberschriften_Aus
End Sub

In „Module1“ steht:
Sub Ausblenden_Multifunktionsleiste()
Application.ExecuteExcel4Macro „Show.Toolbar(“„Ribbon“",
False)"
End Sub

Hallo cruiserpaule,

gehe ich recht in der Annahme, dass das Problem nicht auftritt, wenn Du zuerst eine andere Datei öffnest?
Arbeite zwar mit 2000, und kann das Problem nicht in einer aktuellen Version prüfen, glaube aber, dass Dein Problem in der Objekthierarchie liegt.

…welches beim Start automatisch die Multifunktionsleiste ausblendet.

Das Einblenden der Leiste wird „deaktiviert“ mit dem Öffnen einer bestimmten Datei (workbook), aber beim Wechseln der Datei nicht wieder „aktiviert“.

… Starte ich nun über den Desktop eine 2. od. 3. Exceldatei ohne hinterlegten Makros, wird auch sofort bei … diesen … d. Multifunktionsleiste ausgeblendet …

Bin mir nicht ganz sicher, aber eigentlich sollte es für den Event „Workbook.Change“ die Möglichkeit geben, die Leiste wieder zu aktivieren (Show.Toolbar … :True)?

LG MwieMichel

Servus cruiserpaule,

Makros können, soweit ich weis die Gültigkeit in allen offenen Arbeitsmappen, in dieser Arbeitsmappe und in der Datei haben.
Überprüfe doch mal über das Makrofenster, wie Du das geregelt hast.

Eine andere Idee kommt mir da leider nicht.

Gruß
Werner

Hallo,

Änderungen an den Symmbolleisten gelten grundsätzlich nicht nur für das geöffnete Workbook sondern für die Excel-Session als ganzes.
Wenn Du Excel öffnest und eine Symbolleiste einblendest, ist die auch noch vorhanden, wenn Du weitere Workbooks öffnest.
Da ist es egal, ob Du die Symbolleisten über ein Makro steuerst oder über den „normalen“ Weg.

Gruß
Michael

Hi,
wie schon der Vorredner mitteilte, muß ich wohl das GLOBAL (für alle workbooks) betrachten.
Danke für Deine Mitteilung.
cruiserpaule

Hallo,
an Alle die mir so schnell geantwortet haben meinen Dank.

Ich muß wohl das Aus/Einschalten der Multifunktionsleiste GLOBAL d.h. für alle Workbooks betrachten.
Es stimmt, wenn ich zuerst das 2. Workbook (ohne Ausschaltmakro) öffne, dann kommt die Leiste, geht aber weg, wenn ich das 1. Workbook öffne.
So habe ich dann für beide geöffneten Workbooks keine Multifunktionsleiste.

Abhilfe: Habe jetzt im 1. Workbook beim Beenden, dass Wiedereinschalten der Leiste eingebaut. Dann kommt auch wieder die Leiste wenn das 2. Workbook noch geöffnet ist.

Für beide Workbooks kann ich wenn das Makro einmal ausgeführt ist auch nicht manuell, also mit STRG + F1 die Multifunktionsleiste ein/ausschalten.
Habe daher fürs Einschalten das Makro mit einer Tastenkombination z.B. „STRG + a“ und f. Ausschalten „STRG + b“ versehen.
Jetzt klappts, wahlweise Aufrufbar in jedem Workbook.

Cruiserpaule

Hallo cruiserpaule,

Wie in der Anweisung „Application.ExecuteExcel4Macro Show.Toolbar(„Ribbon“, False)“ steht, wird das Menü-Band für die ANWENDUNG EXCEL ausgeblendet. Wenn Du nun einen neue DATEI in der ANWENDUNG öffnest, dann bleibt das Menü-Band natürlich weg, weil es ja für die ganze Anwendung ausgeblendet ist.

Lösung: Entweder kann man das Menü datei-bezogen ausschalten (ActiveWorkbook. statt Application.) oder man muss evtl. mit ActiveWorkbook abfragen, welche Datei gerade ausgewählt ist und das Menü dahingehend ein- bzw. ausblenden.

Gruß
Harry

verstehe das Problem nicht sorry,

Gruß

Hallo Harry,
Danke für Deine Antwort.
Menüliste kann man leider nicht Dateibezogen ausschalten.
Ist ne Globale Leiste.
Schau mal was ich an „MwieMichel“ geschrieben habe.
(wenn ich zwei Excel-Dateien auf dem Desktop geöffnet habe und in einer die Leiste ausschalte, geht auch in der anderen excel-datei die Leiste weg.

Cruiserpaule

Hallo cruiserpaule,

du solltest wissen, dass Excel-Sheets, also Excel Arbeitsmappen, oder Dateien keine eigenständigen Programme sind.

Auch in Excel-VBA, oder andere Scripts wirken sich immer auf alle geöffneten Tabellen-, Dateien-, oder Arbeitsblätter aus.

Sie greifen alle auf eine Plattform von Runtimes (Programmcode) von MicroSoft zu und sind keine EXE-Dateien.

Ist deine Multifunktionsleiste in einer Excelmappe ausgeblendet, betrifft das alle anderen Excel-Dateien, welche zu danach öffnest.

Lösung ist nur möglich, wenn dú alle anderen Dateien von Excel schließt, so dass nur noch die Datei offen ist, in der die Multifunktionsleiste ausgeblendet wurde.

mfg
Softoldi

Hallo softoldi,
vielen Dank für Deine Nachricht.
Nach langem fummeln und durch Eure Mitteilungen hab ich´s auch leider festgestellt.

Cruiserpaule

Hallo cruiserpaule,

dafür fällt mir leider kein Lösung ein.

Gruß Hugo

Hi,

hättest Du meine Posts mitverfolgt, wäre Dir klargewortden, daß ich von den Bunte-Bildchen-Versionen von Office (ie 2007, 2010 und höher) keine Ahnung habe.

Weil Dein Problem spezifisch für diese Versionen ist, kann ich Deine Frage beim besten Willen nicht ansatzweise beantworten.

M.

Hallo Paule,

Das Application Objekt bezieht sich auf ALLE Workbooks, da es die Instanz des ganzen Excels anspricht.
vielleicht kannst du das so abfangen:

if activeworkbook.name = „NameDesWorkb.xls“ then
ausblenden_multifunktionsleiste
end if

sonst wird das workbook_open immer bei jeder Datei ausgeführt, wenn die das makro enthaltene datei geöffnet ist

hoffe ich konnte dir helfen

lg OVM

Hallo, Danke für Deine Antwort.

Leider funktioniert Dein Vorschlag auch nicht.
Wie schon die Vorredner/Schreiber mitteilten, ist die Multifunktionsleiste „global“ zu betrachten.

1x aus immer aus. (bei gleichzeitig mehreren offenen Workbooks)

Gruß Cruiserpaule

Hallo,

da kann ich leider nicht helfen.

Beste Grüße

Frank Seiler