Hallo zusammen,
ich versuche gerade ein Programm in Excel zu schreiben, welches nach 5 Minuten einen bestimmten Wert überprüft und je nach Bedingung eine Prozedur ausführt bzw. das Programm endet. Durch Hilfe in diesem Forum habe ich bereits den Countdown programmieren können.
Nachdem der Countdown null erreicht soll sich eine Userform öffnen, die den Nutzer auffordert einen Wert einzugeben. Ist der Wert <= 8 so kann das Programm geschlossen werden. Ist der Wert jedoch >= 8 soll der Countdown ein weiteres Mal starten. Dieses Mal aber 10 Minuten (Schleife - also 5 Minuten + 5 Minuten) bevor der Wert erneut überprüft und in das UserForm eingegeben wird. Somit soll sich immer, wenn der Wert nicht <= 8 ist, der Countdown um 5 Minuten lverlängern (5min, 10min, 15min, 20min, 25min usw.), bis der Wert schließlich <= 8 anzeigt. Ausgelöst werden soll der Countdown durch das OK-klicken einer Messagebox.
Folgenden Code habe ich bereits:
Tabelle:
1 2 3 4 5 | Private Sub CommandStarten_Click()
Starten
End Sub
|
Modul:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Public Declare Sub Sleep Lib "kernel32" ( ByVal Milliseconds As Long )
Sub Starten()
Dim datStart As Date , datEnde As Date
datStart = Now
datEnde = datStart + TimeValue( "00:00:10" )
Do While Now <= datEnde
Sleep (1000)
Tabelle1.TextBox1 = Format(datEnde - Now, "Hh:Nn:Ss" )
DoEvents
Loop
If Tabelle1.TextBox1.Text = TimeValue( "00:00:01" ) Or 0 Then
UserForm1.Show
End If
End Sub
|
UserForm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub CommandButtonPruefenWert_Click()
Dim messwert As Integer
Dim a As String
Dim b As String
messwert = TextBoxEingabeMesswert
Tabelle2.Range( "A2" ).Value = TextBoxEingabeMesswert.Text
TextBoxEingabeMesswert.Text = ""
If messwert <= "8" Then
a = MsgBox( "Ende! Das Programm wird geschlossen." , vbOKOnly, "Beenden" )
Else
b = MsgBox( "Wiederholung!" , vbOKOnly, "Wiederholen" )
End If
If b = vbOK Then SpuelungStarten
|
Ich freue mich, wenn mir jemand helfen kann.
Gerne auch mit einen Beispielcode.
Grüße
|