Frage von Himmelwanderer, 39

Ich möchte in der ersten Spalte das aktuelle Datum automatisch eingetragen bekommen, sobald in der selben Zeile in den Spalten B-H etwas eingetragen wird?

diesen Vba Code hab ich schon gefunden:

Private Sub Worksheet_Change(ByVal Target As Range) 'Trägt akt. Datum und Uhrzeit ein A:A ein, wenn B:B nicht leer ist 
If Not Intersect(Target.Cells(1), ActiveSheet.Columns(2).Cells) Is Nothing Then
If Not IsEmpty(Target.Value) Then If IsEmpty(Target.Cells(1).Offset(0, -1)) Then Target.Cells(1).Offset(0, -1) = Date + Time 'kann auch Date + Time (Datum+Uhrzeit) sein
End If
End Sub
Expertenantwort
von Ninombre, Community-Experte für Excel, 25

Willst Du nur den Bereich auf B:H erweitern oder soll auch die Prüfung entfallen, ob die Zelle gefüllt ist? Wenn bei jeder Änderung in B:H der Timestamp in A eingetragen werden soll:

Private Sub Worksheet_Change(ByVal Target As Range) 'Trägt akt. Datum und Uhrzeit ein A:A ein, wenn B:H verändert wird
If Not Intersect(Target, Range("B:H")) Is Nothing Then Cells(Target.Row, 1).Value = Date + Time
End Sub
Antwort
von Himmelwanderer, 25

Danke für eure Hilfe. Ich bin totaler Laie in VBA. Ich habe meine Excel Liste auch total zweckentfremdet. Um meine Frage zu präzisieren: Ich notiere meine Anrufe in einer Excel Liste. Sobald ich nun einen Anruf tätige fülle ich eine neue Zeile aus. Um dann später mal darauf zurückgreifen zu können, möchte ich gern immer das Datum und die Uhrzeit dazu haben. Dieses soll beim Ausfüllen der Zeile in die erste Zelle automatisch eingetragen werden, sobald ich etwas in der selben Zeile (Spalte B bis H) eintrage.

Kommentar von Ninombre ,

sollen Datum / Zeit dann sich weiter ändern, wenn Du zusätzliche Einträge machst, nachdem der Zeitstempel generiert wurde? Ich würde annehmen, dass es nur bei dem ersten Eintrag in Spalte B bis H erzeugt werden soll und dann unverändert bleibt. Das wäre dann eine Abfrage mehr:

Private Sub Worksheet_Change(ByVal Target As Range) 'Trägt akt. Datum und Uhrzeit ein A:A ein, wenn B:H verändert wird
If Not Intersect(Target, Range("B:H")) Is Nothing Then
If Cells(Target.Row, 1).Value = "" Then Cells(Target.Row, 1).Value = Date + Time
End If
End Sub
Kommentar von Himmelwanderer ,

Danke Ninombre,

Das ist genau das was ich gesucht und gebraucht habe. Dieser Code ist super. Ich danke dir dafür.

Bis zum nächsten Mal☺

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten