Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: UserForm und Timer

UserForm und Timer
23.02.2005 11:39:27
walter
hallo liebe community. habe folgendes problem. wenn ich meine excel datei öffne dann erscheint eine UserForm(frmStart) diese soll nach 5 Sekunden geschlossen werden. wie geht das. mein code bis jetzt:

Private Sub UserForm_Activate()
Application.OnTime Now + TimeValue("00:00:05"), "msg"
End Sub

________________________________________________________________
Sub msg()
frmStart.hide
End Sub
eigentlich sollte das ja gehen. nur irgendwie schließt er die UserForm eben nicht. woran kann das liegen ?!
vielen dank im vorraus.
mfg walter
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm und Timer
Heiko
Hallo Walter,
ich mach das so.

Private Sub UserForm_Activate()
Application.Wait (Now + TimeSerial(0, 0, 5))
Unload Me
End Sub

Gruß Heiko
AW: UserForm und Timer
23.02.2005 12:03:55
walter
japp danke klappt prima so wie du es geschrieben hast. :)
mfg walter
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

UserForm mit Timer in Excel nutzen


Schritt-für-Schritt-Anleitung

Um eine UserForm in Excel zu erstellen, die sich nach einer bestimmten Zeit automatisch schließt, kannst du folgendes Vorgehen anwenden. Wir verwenden dafür VBA (Visual Basic for Applications):

  1. UserForm erstellen: Öffne deinen Excel-Arbeitsmappe und gehe zu Entwicklertools > Visual Basic. Füge eine neue UserForm (frmStart) hinzu.

  2. Code eingeben: Füge den folgenden Code in das Code-Fenster der UserForm ein:

    Private Sub UserForm_Activate()
        Application.OnTime Now + TimeValue("00:00:05"), "msg"
    End Sub
  3. Schließe die UserForm: Erstelle ein weiteres Modul und füge den folgenden Code hinzu, um die UserForm zu schließen:

    Sub msg()
        frmStart.Hide
    End Sub
  4. Testen: Speichere deine Arbeit und führe das Makro aus. Die UserForm sollte nach 5 Sekunden automatisch schließen.


Häufige Fehler und Lösungen

  • Problem: Die UserForm schließt sich nicht.

    • Lösung: Stelle sicher, dass der Name der UserForm korrekt in der msg-Sub verwendet wird. Wenn du Unload Me statt frmStart.Hide verwenden möchtest, kannst du den Code wie folgt anpassen:
    Private Sub UserForm_Activate()
        Application.Wait (Now + TimeSerial(0, 0, 5))
        Unload Me
    End Sub
  • Problem: Timer funktioniert nicht.

    • Lösung: Überprüfe, ob du die Makros in Excel aktiviert hast und dass du den richtigen Code in der UserForm hast.

Alternative Methoden

Eine alternative Methode zur Verwendung eines Timers in VBA ist die Verwendung der Application.Wait-Methode anstelle von Application.OnTime. Hier ist ein Beispiel:

Private Sub UserForm_Activate()
    Application.Wait (Now + TimeSerial(0, 0, 5))
    Unload Me
End Sub

Diese Methode ist einfach und funktioniert gut, wenn du keinen präzisen Timer benötigst.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du einen Timer in einer UserForm mit einem Button kombinieren kannst:

  1. Füge einen Button (btnClose) zur UserForm hinzu.

  2. Füge den folgenden Code hinzu:

    Private Sub btnClose_Click()
        Unload Me
    End Sub
  3. Wenn der Benutzer auf den Button klickt, wird die UserForm sofort geschlossen. Dies kann nützlich sein, wenn du dem Benutzer die Möglichkeit geben möchtest, die UserForm manuell zu schließen.


Tipps für Profis

  • Timer anpassen: Du kannst die Zeit in TimeValue oder TimeSerial anpassen, um die Dauer zu ändern, nach der die UserForm geschlossen wird.
  • UserForm im Hintergrund: Wenn du mehrere UserForms verwendest, kannst du die Show-Methode verwenden, um sie im Hintergrund anzuzeigen, während andere Aktionen ausgeführt werden.
  • VBA Timer verwenden: Du kannst auch die Application.OnTime-Methode verwenden, um komplexere Timer-Funktionen zu implementieren. Dies ist hilfreich, wenn du mehrere Timer in verschiedenen UserForms benötigst.

FAQ: Häufige Fragen

1. Wie kann ich den Timer in VBA anpassen? Du kannst die Zeit in den Methoden TimeValue oder TimeSerial nach deinen Wünschen ändern. Zum Beispiel TimeValue("00:01:00") für eine Minute.

2. Funktioniert das auch in Excel Online? Nein, die Verwendung von VBA ist nur in Desktop-Versionen von Excel möglich. Excel Online unterstützt VBA nicht.

3. Kann ich mehrere Timer in einer UserForm verwenden? Ja, du kannst mehrere Timer einrichten, indem du verschiedene OnTime-Aufrufe mit unterschiedlichen Subroutinen verwendest.

4. Was ist der Unterschied zwischen Unload Me und Me.Hide? Unload Me entfernt die UserForm aus dem Speicher und macht sie nicht mehr verfügbar, während Me.Hide die UserForm lediglich ausblendet, sie aber im Speicher bleibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige