Excel minimiert lassen während UserForm aktiv

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Muphin.

    Excel minimiert lassen während UserForm aktiv

    Hallo zusammen,
    gibt ja einige schöne Lösungen hier, jetzt hoffe ich mal es gibt auch eine für meine Herausforderung.

    Ich starte durch ein Makro eine UserForm und minimiere Excel.
    Wenn nun der Nutzer aber nun in ein anderes Programm wechselt und danach wieder zur UserForm will wird Excel wieder angezeigt.
    Excel soll in diesem Fall aber minimiert bleiben und nur die UserForm anzeigen. Wie ist das bitte möglich?

    Ich hab mich schon fast tot gegoogelt dazu und einiges ausprobiert.
    Application.Visible = false ist ungünstig, da danach weder UserForm noch Excel in der Taskleiste erscheinen. :thumbdown:
    Bei ShowModal auf False kann man danach Excel wieder minimieren, die UserForm wird aber ebenfalls minimiert, bringt also nichts. X/
    Ich hab versucht eine automatisches minimieren einzufügen wenn die UserForm aktiv wird, also sowas wie:
    Private Sub UserForm_Activate()
    Application.WindowState = xlMinimized
    End Sub
    Das funktioniert so aber auch nicht, Excel wird einfach nicht minimiert! :S

    Hoffe inständig ihr könnt mir weiterhelfen! :)
    Grüße Muphin
    Hm. Bei mir bleibt Excel (2007) miminiert. Man darf natürlich nicht unten in der Taskleiste auf das Excel-Symbol klicken sondern einfach mit Alt+TAB zu Excel wechseln. Wieso soll Excel mimimiert bleiben? Sollte doch egal sein.

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
    3. Private Sub UserForm_Initialize()
    4. Me.Top = 0
    5. Me.Left = 0
    6. Me.Width = GetSystemMetrics(0) * 0.75
    7. Me.Height = GetSystemMetrics(1) * 0.75
    8. End Sub

    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Hey!
    Excel soll minimiert bleiben, da es ansonsten immer etwas vom Bildschirm verdeckt!

    Ich hab inzwischen auch eine Lösung gefunden die für meine Anwendung einwandfrei funktioniert. Ich verschiebe nun das Excel Fenster aus dem Sichtbaren Bereich.
    Das geht z.B. ganz einfach so:

    Visual Basic-Quellcode

    1. Variablen.ExcelWindowState = 0
    2. If Application.WindowState = xlMaximized Then
    3. Variablen.ExcelWindowState = xlMaximized
    4. Application.WindowState = xlNormal
    5. End If
    6. Application.Top = Application.Top - 1000
    7. ProgrammStart.programmFortsetzung
    8. Application.Top = Application.Top + 1000
    9. If Variablen.ExcelWindowState = xlMaximized Then
    10. Application.WindowState = xlMaximized
    11. End If


    Falls in dem Fall ein Laufzeitfehler auftritt ist das Excel Fenster natürlich nicht mehr direkt erreichbar, wer so etwas vermeiden will sollte z.B. die Maximale Bildschirmhöhe abfragen (z.B. über die height bei maximiertem Fenster) und das Excel Fenster entsprechend verschieben.

    Grüße
    Muphin