Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Dialog nach 3 Sekunden schließen

Gruppe

UserForm

Problem

Ein Dialog mit einer Ja/Nein-Abfrage soll aufgerufen werden. Fällt der Anwender in den ersten 3 Sekunden nach dem Aufruf keine Entscheidung, wird die Betätigung der Ja-Schaltfläche angenommen und der Dialog geschlossen.

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

StandardModule: basMain

Public gdat As Date

Sub CallForm()
   frmHilfe.Show
End Sub

Sub Beenden()
   MsgBox "Aufgabe wird ausgeführt!"
   If gdat >= Now Then
      Application.OnTime EarliestTime:=gdat, _
         Procedure:="Beenden", Schedule:=False
   End If
   Unload frmHilfe
End Sub

ClassModule: frmHilfe

Private Sub cmdJa_Click()
  
   Call Beenden
   Unload Me
End Sub

Private Sub cmdCancel_Click()
   If gdat >= Now Then
      Application.OnTime EarliestTime:=gdat, _
         Procedure:="Beenden", Schedule:=False
   End If
   Unload Me
End Sub

Private Sub UserForm_Activate()
   gdat = Now + TimeSerial(0, 0, 3)
   Application.OnTime gdat, "Beenden", Schedule:=True
End Sub