Private Sub Worksheet_Change(ByVal T As Range)
If Abs(T.Column - 3.5) > 1 Then
Exit SubApplication.EnableEvents = False
T = "=--TEXT(LEFT(SUBSTITUTE(IF(ABS(CODE(" & _
"""" & T & """" & ")-54)<4,0,)&" & """" & T & _
"""" & "&""00000000"",""q"",0),9),""00\:00\:00\,000"")"
T = T.Value
Application.EnableEvents = True
End SubLohnt sich für "Viel-Zeit-Erfasser". Schneller geht es dann wirklich nicht mehr, aber man muss die Logik (von mir
2006 entworfen) dahinter etwas kapieren:
Formatiere Spalten C:D als hh:mm:ss,000 und gib dort - spaßeshalber zum Lernen - die Werte vor dem Gleichheitszeichen ein:
1 = 10:00
2 = 20:00
3 = 03:00
:::
9 = 09:00
11 = 11:00
21 = 21:00
31 = 03:10
::
91 = 09:10
24 = 1 00:00
29 = 1 05:00
q1 = 01:00
q2 = 02:00
q3 = 03:00 (wie ohne q)
123456 = 12:34:56
291234567 = 1 05:12:34,567
Sollte Dich das
q als Füllbuchstabe nerven, kannst Du auch ein anderes Zeichen wählen (nicht: Komma oder #).