HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv

Beiträge zum Thread: Vollbild nach minimieren in der Taskleiste

Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
04.07.2026 14:13:11
Vollbild nach minimieren in der Taskleiste
Hallo,
ich habe da ein Problem, bei dem ich nicht weiter komme.
Ich habe mir eine Excel Datei erstellt mit vielen Funktionen. Unteranderen wir deim Start der Datei alles auf Vollbild gesetzt. Keine einzige Funktion ist sichtbar, nur die reine Oberfläche mit meinen Macro-Funktionen. Ich habe sehr gute Hilfe hier aus dem Forum dafü bekommen.
Was ich jetzt noch bräuchte ist eine Fnktion, das beim Maximieren aus der Taskleiste, ich wieder den ursprünglichen Vollbildmodus habe.
Ich habe einen Button mit Macro, womit ich miniemieren kann.

Sub Minimieren()
Application.WindowState = xlMinimized
End Sub

Ich sende 2 Bilder mit, wo man das vor dem minimieren in der Taskleiste sieht und nach dem maximieren aus der Taskleiste.
Ich habe mir da ein kleines Macro gebastelt, wo ich es über einen Button ändern kann.

Sub Max()
Application.WindowState = xlNormal
Call AllesAus
End Sub

Jetzt sollte es automatisch nach dem maximieren aus der Taskleiste von Windows wieder ein Vollbildmodus sein.
Hier das Macro für den Vollbildmodus


Option Explicit

Private Declare PtrSafe Function GetWindowRect Lib "user32" ( _
ByVal hWnd As LongPtr, lpRect As RECT) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" ( _
ByVal hWnd As LongPtr, ByVal hWndInsertAfter As LongPtr, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long
#If Win64 Then
Private Declare PtrSafe Function GetWindowLongA Lib "user32" Alias "GetWindowLongPtrA" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32" Alias "SetWindowLongPtrA" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare PtrSafe Function GetWindowLongA Lib "user32" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32" ( _
ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Const GWL_STYLE As Long = (-16)
Private Const SWP_MYSTYLE As Long = &H224 ' SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOREPOSITION
Private Const WS_MYSTYLE As Long = &HCB0000 ' WS_CAPTION + WS_SYSMENU + WS_MAXIMINIMIZEBOX

Private Sub AusEin1(ByVal bWie As Boolean)
Dim hStil As LongPtr, R As RECT

With Application
GetWindowRect .hWnd, R
If bWie Then
.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", true)"
Else
.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", false)"
End If
.DisplayStatusBar = bWie ' Statusbar ein/aus
.DisplayFormulaBar = bWie ' Eingabefeld ein/aus
With ActiveWindow
.DisplayWorkbookTabs = bWie ' Register ein/aus
.DisplayHeadings = bWie ' Zeilen/Spaltenbezeichnungen ein/aus
.DisplayHorizontalScrollBar = bWie ' Scrollleiste ein/aus
.DisplayVerticalScrollBar = bWie ' Scrollleiste ein/aus
End With
hStil = GetWindowLongA(.hWnd, GWL_STYLE)
SetWindowLongA .hWnd, GWL_STYLE, IIf(bWie, hStil Or WS_MYSTYLE, hStil And Not WS_MYSTYLE)
SetWindowPos .hWnd, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, SWP_MYSTYLE
End With
End Sub

Public Sub AllesAus()
Call AusEin2(False)
End Sub

Public Sub AllesEin()
Call AusEin2(True)
End Sub

Private Sub AusEin2(ByVal bWie As Boolean)
' Alternative mit gleichen Funktionen
Dim hStil As LongPtr, R As RECT

With Application
GetWindowRect .hWnd, R
.DisplayFullScreen = Not bWie ' Vollbild ein/aus
.DisplayStatusBar = bWie ' Statusbar ein/aus
.DisplayFormulaBar = bWie ' Eingabefeld ein/aus
With ActiveWindow
.DisplayWorkbookTabs = bWie ' Register ein/aus
.DisplayHeadings = bWie ' Zeilen/Spaltenbezeichnungen ein/aus
.DisplayHorizontalScrollBar = bWie ' Scrollleiste ein/aus
.DisplayVerticalScrollBar = bWie ' Scrollleiste ein/aus
End With
hStil = GetWindowLongA(.hWnd, GWL_STYLE)
SetWindowLongA .hWnd, GWL_STYLE, IIf(bWie, hStil Or WS_MYSTYLE, hStil And Not WS_MYSTYLE)
SetWindowPos .hWnd, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, SWP_MYSTYLE
End With
End Sub

Ich hoffe es kann mir einer helfen.
LG Hans

Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hubert_8
04.07.2026 15:59:45
AW: Vollbild nach minimieren in der Taskleiste
Hallo Hans,

mal nur auf den Code geschaut ohne Testung.
.DisplayFullScreen = bWie

Gruß Hubert
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
04.07.2026 16:36:54
AW: Vollbild nach minimieren in der Taskleiste
Doofe Frage von mir.
Wo soll ich das eintragen?
Danke für die Hilfe
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hubert_8
04.07.2026 16:47:59
AW: Vollbild nach minimieren in der Taskleiste
mache einen neuen Schalter und schreibe für diesen Schalter nur den Code.
Ich konnte Deine Datei sehen und kann garum keine genaue Antwort geben.

Gruß Hubert

Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
04.07.2026 17:18:12
AW: Vollbild nach minimieren in der Taskleiste
Hallo,
Ich denke ich habe mich undeutlich ausgedrückt.
Also, wenn ich Excel minimieren und dann aus der Taskleiste von Windows wieder aufrufe, erscheint das Ribbonband. Das sollte nicht so sein. Es soll wieder das Vollbild ohne irgendwelche Standard Anzeigen von Excel. Wie in meinen beigefügten Bildern. Einmal so wie ich die Datei starte und dann nach dem minimieren. Buttons für das Minimieren und das alles ausgeblendet wird habe ich schon. Ich würde es nur gerne automatisch haben, das wieder die ursprüngliche Ansicht meiner Datei da ist. Geht das überhaupt ohne extra Button?
Vielen lieben Dank für die hilfe
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hubert_8
04.07.2026 18:23:40
AW: Vollbild nach minimieren in der Taskleiste
wie schon geschrieben konnte ich Deine Datei nicht sehen.
Ich konnte auch die Bilder nicht sehen.
Deine Code werde ich auch nicht in meiner Datei testen. Da Du einige Änderungen an Excel machts und ich vermute das zurück zumachen ist mir nicht möglich.
Ich bin dann raus. Viel erfolg noch.

Gruß Hubert
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
volti
04.07.2026 20:05:40
AW: Vollbild nach minimieren in der Taskleiste
Hallo Hans,

ich glaube, diesen code hatte ich mal irgendwann eingestellt.... :-)

Nutzt Du die Max-Sub zum Maximieren der Anwendung?

Wenn ja, versuch es mal so:

Sub Max()

Application.WindowState = xlMaximized
Call AllesAus
End Sub



Die Application muss auch maximiert werden. Die Sub AusEin1 handelt nur die excelinternen Einstellungen und das Fensteraussehen.

Gruß
KH
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Ulf
04.07.2026 20:50:10
AW: Vollbild nach minimieren in der Taskleiste
Hi,
in der Datei im Anhang siehst du was fehlt.
Public Variable bStatus für den Zustand
Window_Resize in der Arbeitsmappe abfangen und auf Icon und Status abfragen, wenn ja maximieren.
Testen und übernehmen was gefällt.
https://www.herber.de/bbs/user/180874.xlsm
hth Ulf
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
05.07.2026 16:11:19
AW: Vollbild nach minimieren in der Taskleiste
Vielen Dank für die viele Unterstützung.
Ich hversuche es noch mal die Bilder anzuhängen.
Ich denke, da bin ich mit meiner Idee über das Ziel hinaus geschossen.
Es gibt wohl keine Möglichkeit.

Sub Max()
Application.WindowState = xlNormal
Call AllesAus
End Sub

Das ist der Schalter nach dem maximieren aus der Taskleiste bei mir.
Ich wollte einen Automatismus für das maximieren aus der Taskleister heraus.

Vielen Dank vür eure Unterstützung
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Ulf
05.07.2026 16:38:50
AW: Vollbild nach minimieren in der Taskleiste
Hi,
die Routine muss so aussehen wie Volti schon schrieb, bei mir heißt sie Maximieren, da sie als Max die excel-eigene Funktion überschreibt.
Wenn du den Code aus meiner Datei übernimmst, dann maximiert es auch aus der Taskleiste.
Modul
Option Explicit


Private Declare PtrSafe Function GetWindowRect Lib "user32" (ByVal hWnd As LongPtr, lpRect As RECT) As Long
Private Declare PtrSafe Function SetWindowPos Lib "user32" (ByVal hWnd As LongPtr, ByVal hWndInsertAfter As LongPtr, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
#If Win64 Then
Private Declare PtrSafe Function GetWindowLongA Lib "user32" Alias "GetWindowLongPtrA" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32" Alias "SetWindowLongPtrA" (ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare PtrSafe Function GetWindowLongA Lib "user32" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32" (ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
#End If

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Const GWL_STYLE As Long = (-16)
Private Const SWP_MYSTYLE As Long = &H224 ' SWP_NOZORDER + SWP_FRAMECHANGED + SWP_NOREPOSITION
Private Const WS_MYSTYLE As Long = &HCB0000 ' WS_CAPTION + WS_SYSMENU + WS_MAXIMINIMIZEBOX

Public bStatus As Boolean

Private Sub AusEin1(ByVal bWie As Boolean)
Dim hStil As LongPtr, R As RECT

With Application
GetWindowRect .hWnd, R
If bWie Then
.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", true)"
Else
.ExecuteExcel4Macro "Show.Toolbar(""Ribbon"", false)"
End If
.DisplayStatusBar = bWie ' Statusbar ein/aus
.DisplayFormulaBar = bWie ' Eingabefeld ein/aus
With ActiveWindow
.DisplayWorkbookTabs = bWie ' Register ein/aus
.DisplayHeadings = bWie ' Zeilen/Spaltenbezeichnungen ein/aus
.DisplayHorizontalScrollBar = bWie ' Scrollleiste ein/aus
.DisplayVerticalScrollBar = bWie ' Scrollleiste ein/aus
End With
hStil = GetWindowLongA(.hWnd, GWL_STYLE)
SetWindowLongA .hWnd, GWL_STYLE, IIf(bWie, hStil Or WS_MYSTYLE, hStil And Not WS_MYSTYLE)
SetWindowPos .hWnd, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, SWP_MYSTYLE
End With
End Sub

Public Sub AllesAus()
bStatus = False
Call AusEin2(bStatus)
End Sub

Public Sub AllesEin()
bStatus = True
Call AusEin2(bStatus)
End Sub

Private Sub AusEin2(ByVal bWie As Boolean)
' Alternative mit gleichen Funktionen
Dim hStil As LongPtr, R As RECT

With Application
GetWindowRect .hWnd, R
.DisplayFullScreen = Not bWie ' Vollbild ein/aus
.DisplayStatusBar = bWie ' Statusbar ein/aus
.DisplayFormulaBar = bWie ' Eingabefeld ein/aus
With ActiveWindow
.DisplayWorkbookTabs = bWie ' Register ein/aus
.DisplayHeadings = bWie ' Zeilen/Spaltenbezeichnungen ein/aus
.DisplayHorizontalScrollBar = bWie ' Scrollleiste ein/aus
.DisplayVerticalScrollBar = bWie ' Scrollleiste ein/aus
End With
hStil = GetWindowLongA(.hWnd, GWL_STYLE)
SetWindowLongA .hWnd, GWL_STYLE, IIf(bWie, hStil Or WS_MYSTYLE, hStil And Not WS_MYSTYLE)
SetWindowPos .hWnd, 0, R.Left, R.Top, R.Right - R.Left, R.Bottom - R.Top, SWP_MYSTYLE
End With
End Sub

Sub Minimieren()
Application.WindowState = xlMinimized
Application.ActiveWindow.OnWindow = "Maximieren"
End Sub

'Die Max-Routine, UMBENENNEN
Sub Maximieren()
Application.WindowState = xlMaximized 'DAS IST FALSCH: xlNormal
If bStatus Then
Call AllesEin
Else
Call AllesAus
End If
End Sub

Arbeitsmappe


Private Sub Workbook_WindowResize(ByVal Wn As Window)
Dim myApp As Excel.Application
Set myApp = Wn.Application
If myApp.WindowState = -4137 And bStatus = False Then
Call Maximieren
'CALL Max ggf.
End If
End Sub

hth
Ulf
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
06.07.2026 18:19:09
AW: Vollbild nach minimieren in der Taskleiste
Hallo Ulf,

ich möchte mich sehr bei dir bedanken.
Es war genau das, was ich wollte. Funktioniert super.
Vielen Dank für deine super Hilfe.

LG
Hans
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
05.07.2026 16:14:14
AW: Vollbild nach minimieren in der Taskleiste
Vielen Dank für die viele Unterstützung.
Ich hversuche es noch mal die Bilder anzuhängen.
Ich denke, da bin ich mit meiner Idee über das Ziel hinaus geschossen.
Es gibt wohl keine Möglichkeit.

Sub Max()
Application.WindowState = xlNormal
Call AllesAus
End Sub

Das ist der Schalter nach dem maximieren aus der Taskleiste bei mir.
Ich wollte einen Automatismus für das maximieren aus der Taskleister heraus.

Userbild
Userbild

Vielen Dank vür eure Unterstützung
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Hans
05.07.2026 16:16:10
AW: Vollbild nach minimieren in der Taskleiste
Vielen Dank für die viele Unterstützung.
Ich hversuche es noch mal die Bilder anzuhängen.
Ich denke, da bin ich mit meiner Idee über das Ziel hinaus geschossen.
Es gibt wohl keine Möglichkeit.

Sub Max()
Application.WindowState = xlNormal
Call AllesAus
End Sub

Das ist der Schalter nach dem maximieren aus der Taskleiste bei mir.
Ich wollte einen Automatismus für das maximieren aus der Taskleister heraus.

Userbild Nach dem maximieren Nach dem maximieren
Userbild Vor dem minimieren, original Aufruf der Datei Vor dem minimieren, original Aufruf der Datei

Vielen Dank vür eure Unterstützung