VBA 6.5 Countdown
Problem beim Einrichten eines Countdowns mit Visual Basic 6.5
Hallo zusammen
Ich bin wahrscheinlich zu dumm, um Visual Basic 6.5 zu prgrammieren.
Ich wollte eigentlich ganz einfach einen Countdown mit einer vorgegebenen Zeit definieren und dass dieser beginnt herunter zu zählen und die verfügbare Restzeit in einem Label ausgibt. Leider hat sich hier die Logik mit VBA 6.5 geändert. Habe schon rauf und runter gegoogelt, leider ohne Erfolgt. Hier nochmals das genaue Ziel:
Countdown mit fix definierter Zeit soll beim Aktivieren eines CommandButtons beginnen und die restliche Zeit in einem Label ausgeben. Schön wäre noch, wenn es möglich wäre bei der Ausgabe Stunden, Minuten und Sekunden anzuzeigen.
Gruss
Caedus
Hallo zusammen
Ich bin wahrscheinlich zu dumm, um Visual Basic 6.5 zu prgrammieren.
Ich wollte eigentlich ganz einfach einen Countdown mit einer vorgegebenen Zeit definieren und dass dieser beginnt herunter zu zählen und die verfügbare Restzeit in einem Label ausgibt. Leider hat sich hier die Logik mit VBA 6.5 geändert. Habe schon rauf und runter gegoogelt, leider ohne Erfolgt. Hier nochmals das genaue Ziel:
Countdown mit fix definierter Zeit soll beim Aktivieren eines CommandButtons beginnen und die restliche Zeit in einem Label ausgeben. Schön wäre noch, wenn es möglich wäre bei der Ausgabe Stunden, Minuten und Sekunden anzuzeigen.
Gruss
Caedus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 161648
Url: https://administrator.de/contentid/161648
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo Darth-Caedus-84!
Das könnte etwa so gehen:
Alternativen findest Du zB hier (wobei die Variante mit "
Grüße
bastla
Das könnte etwa so gehen:
Zeit = TimeSerial(3, 20, 0) '200 Minuten
Ende = Now + Zeit
Pause = 1 / 87000 'etwas weniger als eine Sekunde
Do
Label1.Caption = FormatDateTime(Ende - Now, vbLongTime)
Application.Wait Now + Pause
Loop Until Now >= Ende
WScript.Sleep
" unter VBA nicht funktioniert) ...Grüße
bastla
Hallo Darth-Caedus-84!
Versuch es mit der API-Variante - dazu müsstest Du dann in der Schleife die Zeile 6 durch einen Aufruf von "
Grüße
bastla
Versuch es mit der API-Variante - dazu müsstest Du dann in der Schleife die Zeile 6 durch einen Aufruf von "
Sleep
" ersetzen ...Grüße
bastla
Hallo bastla!
@Darth-Caedus-84!
Andere Möglichkeit für Dein Vorhaben wäre z.B.
UserForm:
Modul:
Wobei das Contdown-Label praktisch im Hintergrund aktualisiert wird.
Gruß Dieter
Zitat von @bastla:
Versuch es mit der API-Variante - dazu müsstest Du
dann in der Schleife die Zeile 6 durch einen Aufruf von "
Das hatte ich schon versucht und funktioniert leider nicht (von daher obigen Kommentar entfernt)Versuch es mit der API-Variante - dazu müsstest Du
dann in der Schleife die Zeile 6 durch einen Aufruf von "
Sleep
" ersetzen ...@Darth-Caedus-84!
Andere Möglichkeit für Dein Vorhaben wäre z.B.
UserForm:
Private Sub CommandButton1_Click()
Zeit = Now + TimeSerial(0, 1, 0) 'Std, Min, Sek
Call CountdownRefresh
End Sub
Modul:
Public Zeit As Date
Sub ShowUserForm()
UserForm1.Show
End Sub
Sub CountdownRefresh()
If Now > Zeit Then
'Mach was oder auch nicht!
Else
UserForm1.Label1.Caption = FormatDateTime(Zeit - Now, vbLongTime)
Application.OnTime Time + 0.0000114, "CountdownRefresh"
End If
End Sub
Gruß Dieter