VBA: Timer zum Schliessen einer Userform setzen
Inhaltsverzeichnis
Problemdefinition
Ein Benutzer hat eine Userform in Excel erstellt und möchte, dass sich diese Userform 30 Sekunden nach dem Öffnen automatisch wieder schließt.
Lösung des Problems mit VBA
Um eine Userform 30 Sekunden nach dem Öffnen automatisch zu schließen, kann ein Timer mit VBA-Code verwendet werden.
Anwendungsbeispiel aus der Praxis
- Öffne den VBA-Editor, indem du
Alt
+ F11
drückst.
- Im Projekt-Explorer rechtsklicke auf die Userform, die du bearbeiten möchtest, und wähle "Code anzeigen".
- Im Code-Fenster der Userform füge den folgenden Code ein:
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeValue("00:00:30"), "SchließenDerUserForm"
End Sub
- Füge den folgenden Code in ein Modul ein:
Sub SchließenDerUserForm()
UserForm1.Hide
End Sub
In diesem Beispiel wird die Application.OnTime
-Methode verwendet, um die SchließenDerUserForm
-Prozedur 30 Sekunden nach dem Öffnen der Userform auszuführen. Die SchließenDerUserForm
-Prozedur schließt die Userform, indem sie die Hide
-Methode der Userform aufruft.
Tipps
- Du kannst die Zeit, nach der die Userform geschlossen wird, ändern, indem du einen anderen Wert für die
TimeValue
-Funktion angibst. Zum Beispiel schließt TimeValue("00:01:00")
die Userform nach einer Minute.
- Du kannst den Namen der Userform in der
SchließenDerUserForm
-Prozedur ändern, wenn deine Userform einen anderen Namen hat.
Verwandte Funktionen
Application.OnTime
: Diese Methode führt eine Prozedur zu einer bestimmten Zeit aus.
Zusammenfassung
Um eine Userform nach einer bestimmten Zeit automatisch zu schließen, kann die Application.OnTime
-Methode in Kombination mit einer Prozedur verwendet werden, die die Hide
-Methode der Userform aufruft. In dem obigen Beispiel wird die Userform 30 Sekunden nach dem Öffnen geschlossen, indem die Application.OnTime
-Methode mit der TimeValue("00:00:30")
-Funktion und der SchließenDerUserForm
-Prozedur verwendet wird.