Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Bernd f. am Dezember 02, 2017, 23:58:51 Nachmittag
-
Ich suche eine Möglichkeit eine Tabelle mit 2 Spalten Zeitangaben Anfang Ende einzugeben ohne jedesmal den Doppelpunkt eingeben zu müssen den Trick mit der Autokorrektur haben wir bereits drin ich habe ein Vba Macro gefunden das für eine Spalte das Problem lösen würde ich weiß aber nicht wie ich die zweite Spalte eingeben muß leider habe ich absolut keine Ahnung wie das gemacht wird oder nach welchen Stichworten ich hier im Forum suchen muß.
Hier was ich gefunden habe.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Eingabe As Variant
On Error GoTo ErrorHandler
If Not Intersect(Target, Columns(1)) Is Nothing Then
Application.EnableEvents = False
With Target
.Value = CDate(Left(Format(Target, "0000"), 2) & ":" & Right(Target, 2))
.NumberFormat = "[hh]:mm"
End With
End If
ErrorHandler:
Application.EnableEvents = True
End Sub
es wären nicht Columns(1) sondern 3 und 4 was ich versucht habe sind (Target, Columns(3)), Columns(4)) oder (Target, Columns(3)),(Target, [Columns(1)]) und verschiedenes andere wie das geschrieben wird absolut keine Ahnung was ich tun muß oder wo nach ich suchen muß hoffe es kann mit jemand helfen Danke schon mal im vorraus. Eine Kleinigkeit noch als Ergebniss dieses Scripts bekomme ich 07:45:00 AM/PM ich vermute mal das das ein Amerikansches Format ist wenn das als 07:45 also Stunden und Minuten dargestellt würde wäre das optimal. Vielen Dank schon mal im voraus für lesen !!
-
Private Sub Worksheet_Change(ByVal T As Range)
If Abs(T.Column - 3.5) > 1 Then Exit Sub
Application.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 Sub
Lohnt sich für "Viel-Zeit-Erfasser". Schneller geht es dann wirklich nicht mehr, aber man muss die Logik (von mir 2006 (http://xxcl.de/0018.htm) 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 #).
-
Vielen Dank funktioniert gut und da die Zeiten zwischen 07uhr und 18 uhr liet ist das mit dem q nicht nötig tolle arbeit danke nochmal :)!!!!!
-
Freut mich! Danke für's Feedback!