Hallo,
ich bin leider noch nicht so geübt in VBA und Hoffe ihr könnt mir helfen.
Ich hab folgendes Problem, ich will über die Zelle C3 ( in der sich ein DropDown Feld befindet mit Zeiten also 00:00 ; 01:00 ; ... 23:00; 00:00) eine Zelle K3 ansteuern und zwar so das wenn in c3 z.B. 01:00 eingestellt wird ein Timer gestartet der die Zelle für 4 Stunden gün färbt dann zwischen 4 und 6 Stunden Gelb und zwischen 6 und 8 Stunden Orange und länger wie 8 Stunden rot.
Das klappt auch soweit, mein Problem ist das ich erreichen will das bei Veränderung der Zelle c3 der bereits laufende Timerablauf sich beenden soll und der durch die Veränderung der Zelle c3 startende Ablauf nur noch läuft.
Also so ähnlich wie ein reset.
Hier mein Code
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$C$3" Then Call Grün3
End Sub
Sub Grün3()
ThisWorkbook.Sheets("Tabelle1").Visible = True
Sheets("Tabelle1").Select
Range("K3").Interior.ColorIndex = 4
StartZeitGeber3
End Sub
Public Sub StartZeitGeber3()
Application.OnTime Now + TimeValue("0:0:5"), "Gelb3"
End Sub
Sub Gelb3()
ThisWorkbook.Sheets("Tabelle1").Visible = True
Sheets("Tabelle1").Select
Range("K3").Interior.ColorIndex = 6
StartZeitGeberO3
End Sub
Public Sub StartZeitGeberO3()
Application.OnTime Now + TimeValue("0:0:5"), "Orange3"
End Sub
Sub Orange3()
ThisWorkbook.Sheets("Tabelle1").Visible = True
Sheets("Tabelle1").Select
Range("K3").Interior.ColorIndex = 46
StartZeitGeberR3
End Sub
Public Sub StartZeitGeberR3()
Application.OnTime Now + TimeValue("0:0:5"), "Rot3"
End Sub
Sub Rot3()
ThisWorkbook.Sheets("Tabelle1").Visible = True
Sheets("Tabelle1").Select
Range("K3").Interior.ColorIndex = 3
End Sub
schon einmal vilen dank für eure Hilfe
MFG Marco
Ps. die Zeiten sind für Testzwecke auf 5 sec gesetzt
|