In AF (ab Zeile 17) wird Datum und/oder Uhrzeit als Text entweder als DEC 13 21:54:46 oder nur als 21:54:46 hineinkopiert. Falls Datum und Uhrzeit in AF stehen, möchte ich das Datum (hier DEC 13 -- englische Quelle (eine entsprechende Formel zum Umwandeln habe ich bereits)) als 13.12.2017 in C stehen haben. Falls nur die Uhrzeit in AF steht, dann möchte ich das (aktuelle) Datum stehen haben sobald AF nicht mehr leer ist. Dieses Datum darf sich aber dann nicht mehr ändern, wenn ich z.B. am nächsten Tag die Tabelle öffne. Gibt es dafür eine Möglichkeit?
dann bitte mal eine Beispieldatei (*.xlsx) hochladen und Dein gewünchtes Ergebnis händisch eintragen. Du kannst zum näheren Beschreiben auch Kommentare verwenden.
Private Sub Worksheet_Change(ByVal Target As Range) Dim d On Error Resume Next If Not Intersect(Target, Range("V:V")) Is Nothing Then If Target <> "" Then If IsNumeric(Target.Value) Then 'Nur Uhrzeit Cells(Target.Row, 3).Value = Date Else 'Datum mit Uhrzeit d = Split(Target.Value, " ") Cells(Target.Row, 3).Value = _ DateSerial(Year(Date), InStr(1, "||JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC", d(0)) / 3, d(1)) End If End If End If If Err Then MsgBox "Ungültige Eingabe!", vbInformation End Sub
Wenn ich nur die Uhrzeit oder das Datum mit Uhrzeit in die Spalte V reinkopiere dann funktioniert es einwandfrei.
Das Problem ist, dass nicht alle Daten einzeln von M-Z hineinkopiert werden, sondern der gesamte Datensatz von M-Z wird als "Range" in M hineinkopiert. Wenn ich das mache, bekomme ich eine Fehlermeldung von Excel: "Ungültige Eingabe!" und es wird in C kein Datum erzeugt. Einfach mal mit dem vorhandenen Datensatz probieren.