Hallo liebe Community,
ich habe ein Problem und stehe seit mehrern Tagen auf dem Schlauch und komme nicht weiter. Mein Ziel ist es insgesamt zwei Userformen zu gestalten. In der ersten Userform kann der Nutzer eine Zeitvorgabe eingeben und mit einem Commandbutton den Countdown (hh:mm:ss) starten. Mit dem Anklicken sollte sich die zweite Userform öffnen, in der der Countdown in einem Beschriftungsfeld angezeigt wird. Darunter soll ein Beschriftungsfeld (vollflächig eingefärbt) immer weiter schrumpfen, abhängig von der abgelaufenen Zeit, daher das n, das die Breite des Beschriftungsfeld bestimmt. Also so eine Art Ladebalken nur rückwärts. Ich habe mir dazu Videos bei Youtube angeschaut, sowie hier im Forum geschaut, aber keine Lösung gefunden, die funktioniert. Kann mir vielleicht jemand helfen?
Mein Code bisher:
Private Sub CommandButton1_Click()
a = UserForm2.TextBox1.Value
b = UserForm2.TextBox2.Value
c = UserForm2.TextBox3.Value
d = UserForm2.TextBox4.Value
e = UserForm2.TextBox5.Value
f = UserForm2.TextBox6.Value
n = a * 10 * 60 * 60 + b * 60 * 60 + c * 10 * 60 + d * 60 + e * 10 + f
Unload Me
UserForm1.Show
UserForm1.Label1.Caption = a & b & ":" & c & d & ":" & e & f
For i = 1 To n
Application.Wait (Now + TimeValue("00:00:01"))
DoEvents
UserForm1.Label1.Caption = Format(DateAdd("s", -1, UserForm1.Label1.Caption), "hh:mm:ss")
UserForm1.Label3.Width = 306 - 306 * i / n
Next i
End Sub
Danke schon mal im Voraus. Bin leider kein Experte auf dem Gebiet VBA.
|