Wie kann ich denn Excel minimieren (also in die Taskleiste hängen) und das Userform als aktives Fenster in den Fordergrund (also als aktive Anwendung von Windows) stellen ???
Danke für Eure Hilfe!
Liebe Grüße
Markus
Wie kann ich denn Excel minimieren (also in die Taskleiste hängen) und das Userform als aktives Fenster in den Fordergrund (also als aktive Anwendung von Windows) stellen ???
Danke für Eure Hilfe!
Liebe Grüße
Markus
folgender Text:
https://www.herber.de/mailing/092800h.htm
hans
Private Sub UserForm_Initialize()
Application.WindowState = xlMinimized
TextBox1.SetFocus
End Sub
Private Sub UserForm_Terminate()
Application.WindowState = xlNormal
End Sub
so gehts auch:
in dieseArbeitsmappe kopieren:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Sub Workbook_Open()
Application.WindowState = xlMinimized
Load UserForm1
Call Form_Load
UserForm1.Show
End Sub
Private Sub Form_Load()
Dim lHandle As Long
lHandle = FindWindow("Thunderxframe", "Eingabe") 'vbNullString
lHandle = SetForegroundWindow(lHandle)
End Sub
gruss
jens
Um Excel zu minimieren und gleichzeitig eine Userform als aktives Fenster anzuzeigen, kannst du folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass Excel minimiert wird, während die Userform im Vordergrund bleibt.
Öffne die Excel-Datei und drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Erstelle eine neue Userform oder wähle eine bestehende aus.
Füge den folgenden Code in das Modul der Userform ein:
Private Sub UserForm_Initialize()
Application.WindowState = xlMinimized
TextBox1.SetFocus
End Sub
Private Sub UserForm_Terminate()
Application.WindowState = xlNormal
End Sub
Stelle sicher, dass TextBox1
tatsächlich existiert und fokussiert wird, damit die Userform aktiv bleibt.
Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass Excel minimiert wird.
Eine alternative Methode zur Aktivierung der Userform könnte die Verwendung von API-Funktionen sein. Hier ist ein Beispiel, wie du das erreichen kannst:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Sub Workbook_Open()
Application.WindowState = xlMinimized
Load UserForm1
Call Form_Load
UserForm1.Show
End Sub
Private Sub Form_Load()
Dim lHandle As Long
lHandle = FindWindow("ThunderXframe", "Eingabe") ' Ersetze "Eingabe" durch den Titel deiner Userform
lHandle = SetForegroundWindow(lHandle)
End Sub
Diese Methode erfordert, dass du den Code in das entsprechende Arbeitsmappenmodul kopierst.
Ein einfaches Beispiel für die Verwendung von Userforms könnte eine Eingabemaske für Daten sein. Wenn du beispielsweise eine Dateneingabe für Kundeninformationen machst, könntest du die Userform minimieren, um während der Eingabe keine Ablenkungen durch das Excel-Fenster zu haben.
UserForm_Activate
-Ereignisprozedur, um zusätzliche Aktionen auszuführen, wenn die Userform in den Vordergrund tritt.1. Wie kann ich Excel wiederherstellen, nachdem ich die Userform geschlossen habe?
Du kannst die Funktion Application.WindowState = xlNormal
in der UserForm_Terminate
-Prozedur verwenden, um Excel wiederherzustellen.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer. Achte darauf, dass du die richtigen Steuerelemente in der Userform verwendest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen