Excel: Automatische Aktualisierung Datum in Zellen deaktivieren

gamma_matrices

Cadet 4th Year
Registriert
Sep. 2018
Beiträge
121
Hallo allerseits,

habe eigentlich eher eine banale Frage.
Wie kann ich in Excel vermeiden, dass in Zellen einer Spalte wo Datum drinnen steht, das aktuelle Datum immer wieder neu gesetz wird, sobald Excel täglich geöffnet wird?
Ich möchte das aktuelle Datum in den Zellen nur dann gesetzt haben, wo NUR Änderungen durchgeführt wurden. Das ganze hat eher einen Versionierungshintergrund.
Danke euch vorab!
 
es gibt die formel HEUTE() die setzt immer das aktuelle datum. was anderes kenne ich nicht, was immer das datum ändern würde.
 
  • Gefällt mir
Reaktionen: gamma_matrices
STRG + , (Komma). trägt automatisch das aktuelle datum in die zelle ein. Das Aktualisiert sich nicht mehr. Es ist einfach eine DUmme Datumsnummer.

falls du die Uhrzeit auch brauchst: STRG+Umschalt+ , (Komma)
 
  • Gefällt mir
Reaktionen: gamma_matrices und AxelFoley
Oder mal nach "Excel Zeitstempel" in einer Suchmaschine deiner Wahl suchen.
 
Moin,

Eine Formel die nur dann das Datum aktualisiert, wenn sich was ändert, gibt es glaube ich nicht. HEUTE() ändert sich immer sobald irgendeine Zelle bearbeitet wird und sollte auch nur in kleineren Excel Dateien genutzt werden. Die Formel kann dir mal ganz schnell die Performance in den Keller treiben, je nach Komplexität der Excel Datei. Dann entweder manuell eintragen, oder VBA nutzen. Zufällig hatte ich gestern beim Aufräumen meiner Verzeichnisse eine Excel Datei gefunden, wo ich das Ganze mal mit VBA umgesetzt habe.

Hier mal den VBA Code. Sobald in einer Zeile was geändert wird, wird am Ende der Timestamp und der User eingetragen (Spalte U und V). Vielleicht kannst du das ja gebrauchen.

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

  Application.EnableEvents = False
  Application.ScreenUpdating = False

  Dim currentUser As String
  currentUser = Application.UserName

  Dim currentDate As Date
  currentDate = Now

  Dim currentRow As Integer
  currentRow = Target.Row
 
  Dim selectedRows As Integer
  selectedRows = Target.Rows.Count
 
  If selectedRows > 1 Then
    Dim i As Integer
    For i = 1 To selectedRows
        Cells(currentRow, 21) = currentDate
        Cells(currentRow, 22) = currentUser
        currentRow = currentRow + 1
    Next i
  Else
    Cells(currentRow, 21) = currentDate
    Cells(currentRow, 22) = currentUser
  End If
 
  Application.ScreenUpdating = True
  Application.EnableEvents = True

End Sub
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: gamma_matrices, proserpinus, spcqike und eine weitere Person
Pyrukar schrieb:
STRG + , (Komma). trägt automatisch das aktuelle datum in die zelle ein. Das Aktualisiert sich nicht mehr. Es ist einfach eine DUmme Datumsnummer.

falls du die Uhrzeit auch brauchst: STRG+Umschalt+ , (Komma)
" . " --- PUNKT ?
nicht Komma oder spinn ich gerade?
 
  • Gefällt mir
Reaktionen: gamma_matrices
Vielen Dank euch für die zahlreichen Antworten. So trivial kann manchmal alles sein:D...Hinweis mit Strg + "." war der Schlüssel.
@Fenatics: werde ich mal fürs automat. Tracken testen, danke dafür!
 
  • Gefällt mir
Reaktionen: Chris369
@steve1da @Chris369 ich liebe die feinen unterschiede von libre office calc und Excel :D sorry bei Calc ists tatsächlich komma, aber ja unter Excel ists tatsächlich Punkt :)

gruß
Pyrukar
 
  • Gefällt mir
Reaktionen: Chris369
Zurück
Oben