HEUTE() bleibt heute

Xtract: Unter definierten Bedingungen in eine Zelle das aktuelle Datum eintragen; Dieses Datum soll aber unverändert bleiben, auch wenn die Datei an kommenden Tagen geöffent wird. Dieses ist eine Lösung unter VBA/Makro.

Bei „YXZ“ in Zelle aktuelles Datum eintragen

Eine der Top-Ten-Fragen zu Excel: „Wenn ich in A2:A100 den Wert XYZ eintrage, dann soll in Spalte B der gleichen Zeile das heutige Datum eingetragen werden. Dieses darf sich natürlich nicht verändern …“ Der Datumswert soll also fixiert sein und sich nicht anpas­sen. – So etwas lässt sich nur per VBA (Makro) erledigen, denn die Tabellenfunktion HEUTE() würde ja jeden Tag das dann aktuelle Datum anzeigen. Hier nun der Code:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rngSpA As Range
   On Error GoTo ErrorHandler
   Set rngSpA = Range("A2:A100")
   If Not Intersect(Target, rngSpA) Is Nothing Then
      If UCase(Target) = "XYZ" Then
         Application.EnableEvents = False
         Cells(Target.Row, "B") = Date
      End If
   End If

ErrorHandler:
   Application.EnableEvents = True
   Set rngSpA = Nothing
End Sub

Auch wenn es nur einige Zeilen sind, können Sie den Code hier herunterladen oder natürlich auch hier direkt von der Seite kopieren. Anpas­sun­gen werden Sie natürlich noch vornehmen müssen, aber das sollte Ihnen nicht schwer fallen, falls Sie auch nur einen Hauch vom Pro­gram­mie­ren verstehen. Falls nicht, sprechen Sie uns an und teilen Sie uns Ihre Wünsche mit.

Möchten Sie das Ganze als Protokollierung einer Änderung vornehmen und auch den Namen des Benutzers mit erfassen, dann schauen Sie doch auch einmal hier nach.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrerseits z.B. 1,00  freuen …

Dieser Beitrag wurde unter Code-Schnipsel, Datum und Zeit, Tabelle und Zelle, Tipps und Tricks, Zeit-Funktionen abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.