Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Datums- und Uhrzeiteingabe vereinfachen





Frage

Hallo, gibt es eine Möglichkeit, die Datums- und Uhrzeiteingabe in Excel zu vereinfachen? Am liebsten wäre mir, wenn man die Punkte beim Datum bzw. den Doppelpunkt bei der Uhrzeit nicht mit eintippen müsste. In Access geht das ja. Habe die Felder schon als Uhrzeit bzw. Datum formatiert. Die Punkte oder Doppelpunkte muss man aber ja trotzdem eingeben. Gruß

Antwort 1 von nighty

hi all :-)

ein beispiel fuer die uhrzeit :-))

gruss nighty

einzufuegen alt f11/projektexplorer/DeineTabelle

Private Sub worksheet_Change(ByVal Target As Range)
On Error GoTo fehler
Application.EnableEvents = False
With Worksheet
If Len(Target.Value) = 1 Then Target.Value = "00" & ":0" & Mid$(Target.Value, 1, 1)
If Len(Target.Value) = 2 Then Target.Value = "00" & ":" & Mid$(Target.Value, 1, 2)
If Len(Target.Value) = 3 Then Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
If Len(Target.Value) = 4 Then Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
End With
Application.EnableEvents = True
End
fehler:
If Application.EnableEvents = False Then Application.EnableEvents = True
End Sub

Antwort 2 von gone2fast

Danke nighty,

aber mit Visual Basic kenn ich mich überhaupt nicht aus. Ich versteh da jetzt (fast) nur Bahnhof.

Wenn ich da jetzt in diesem Projektexplorer bin und auf meiner Tabelle, wie geh ich dann genau weiter vor?

Gruß

Antwort 3 von nighty

hi all :)

im projektexplorer werden deine tabellen angezeigt,fuege den code dort ein nach doppelclick auf deine ausgewählte tabelle,dann ist in dieser der automatismus :-)

gruss nighty

Antwort 4 von Hajo_Zi

Hallo Namensloser,

falls es darum geht diese Eingaben mit der Numlock-Tastatur zu machen?

Uhrzeit
die für mich einfachste Art zur Zeiteingabe ist.
Stelle bei Autokorrektur ein Ersetzen ,, durch : dann kannst Du Zeiten recht schnell mit der Num-Lock-Tastatur eingeben.

Datum schreibe 12/01/07 oder 12-01-07

Gruß Hajo

Antwort 5 von Ralfman

Eingeben von Datum ist einfach, halt mal die Strg fest und Tipp auf den Punkt (Strg + .)

Ralf

Antwort 6 von gone2fast

nighty,

deine Lösung ist eigentlich super!
Aber jetzt kann ich ja keine Zahl mit 4 Stellen oder weniger mehr eingeben, ohne dass Excel mir eine Uhrzeit daraus macht. :-)

Kann man das ganze nicht auf eine bestimmte Spalte bzw. Spalten beschränken? Oder auf Felder mit einer bestimmten Formatierung?

Gruß, Marc

Antwort 7 von nighty

hi all :)

gruss nighty

spaltenbezogen
spalte 1 bzw a zur zeit

Private Sub worksheet_Change(ByVal Target As Range)
rem hier die spaltenangabe
If Target.Column = 1 Then
On Error GoTo fehler
Application.EnableEvents = False
With Worksheet
If Len(Target.Value) = 1 Then Target.Value = "00" & ":0" & Mid$(Target.Value, 1, 1)
If Len(Target.Value) = 2 Then Target.Value = "00" & ":" & Mid$(Target.Value, 1, 2)
If Len(Target.Value) = 3 Then Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
If Len(Target.Value) = 4 Then Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
End With
Application.EnableEvents = True
End
fehler:
If Application.EnableEvents = False Then Application.EnableEvents = True
End If
End Sub

oder bereichsbezogen

in diesem beispiel
zeile 5 spalten 2-9

Private Sub worksheet_Change(ByVal Target As Range)
rem hier die bereichsangaben
If Target.Column > 1 And Target.Column < 10 _
And Target.Row > 4 And Target.Row < 6 Then
On Error GoTo fehler
Application.EnableEvents = False
With Worksheet
If Len(Target.Value) = 1 Then Target.Value = "00" & ":0" & Mid$(Target.Value, 1, 1)
If Len(Target.Value) = 2 Then Target.Value = "00" & ":" & Mid$(Target.Value, 1, 2)
If Len(Target.Value) = 3 Then Target.Value = Mid$(Target.Value, 1, 1) & ":" & Mid$(Target.Value, 2, 2)
If Len(Target.Value) = 4 Then Target.Value = Mid$(Target.Value, 1, 2) & ":" & Mid$(Target.Value, 3, 2)
End With
Application.EnableEvents = True
End
fehler:
If Application.EnableEvents = False Then Application.EnableEvents = True
End If
End Sub

Antwort 8 von nighty

hi all :-)

noch das

gruss nighty

waere spalte 1 und 7
If Target.Column = 1 or Target.Column =7 Then

waere spalte 1 bis 7
If Target.Column <8 Then

waere spalte 6 bis 7
If Target.Column >5 and Target.Column <8 Then

das duerfte stoff zum experimentieren geben :-)

Antwort 9 von gone2fast

Danke nighty,

das ist super und damit sollte ich klarkommen. Werd gleich mal etwas herumexperimentieren.

Wenn du mir das ganze jetzt noch für die Datumseingabe im Format T.M. (also z.B. 1.2.) bzw. TT.MM (also z.B. 14.10.) basteln könntest wäre das spitzenmäßig.

Finde das übrigens super, das einem hier so nett weitergeholfen wird. Danke dafür.

Gruß, Marc