ich habe eine Spezialfrage zum Erstellen eines Countdown-Timers mithilfe VBA.
Codes habe ich zwar schon einige im Netz gefunden, aber diese kann ich aufgrund fehlender Kenntnisse nicht an mein Beispiel anpassen; Hauptgrund ist meist der Start über einen Button mit zugewiesenem Modul - ich hätte aber gern einen Autostart, wenn in best. Zelle einer ausgewählten Spalte geschrieben wird.
Ich trage in einer Tabelle eine aktuelle Uhrzeit in Spalte B ein (bzw. mittels VBA Code wird die Uhrzeit automatisch eingetragen, wenn in Spalte B geschrieben wird (Code dazu unterbei).
In Spalte F wird derzeit die Endzeit (=Zeit Spalte B plus 150 Minuten) mittels WENN-Funktion eingetragen (=WENN(B39>0;B39+1/60/24*150;"--")).
Nun zur Frage: gibt es eine Möglichkeit, einen Countdowntimer automatisch zu starten, wenn entweder in Feld B oder F geschrieben wird?
Dieser soll im Hintergrund für 150 Minuten laufen und nach Beendigung sollte eine Massagebox auf dem Desktop aufploppen.
Zusatzinfo: es laufen immer mehrere Countdowns zur gleichen Zeit; die Massagebox sollte nur eine Erinnerung aufscheinen, Text kann immer gleich sein.
Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.
Vielen Dank vorab.
Martina
Code für Zeiteintragung in B:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRInt As Integer
Dim xDStr As String
Dim xFStr As String
On Error Resume Next
xDStr = "C" 'Data Column
xFStr = "A" 'Timstamp Column
If (Not Application.Intersect(Me.Range(xDStr & ":" & xDStr), Target) Is Nothing) Then
xRInt = Target.Row
Me.Range(xFStr & xRInt) = Format(Now(), "dd/mm/yyyy")
Me.Range("B" & xRInt) = Format(Now(), "hh:mm")
If Range("A" & xRInt + 1) = "" Then
Me.Range("B" & xRInt + 1).Value = "--" 'nächste Zeilen mit Wert vorbelegen
Me.Range("A" & xRInt + 1).Value = "--"
'Me.Range("C" & xRInt + 1).Value = "--"
'Me.Range("D" & xRInt + 1).Value = "--"
End If
End If