Microsoft Excel - automatisch Datum zu einem Eintrag vermerken

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mein Vorschlag ist dieser einfach umzusetzende VBA Code:
Mache einen Rechtsklick auf den Tabellenreiter (unten, da wo z.B. Tabelle1 steht).
Klicke auf "Code anzeigen".
Dann öffnet sich der VBA-Editor. In das große, leere Fenster kopierst Du dieses bisschen Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Target.Offset(0, 1).Value = Date
End Sub

Jetzt kannst Du den VBA-Editor wieder schließen, das ganze speichern, und mal etwas in Spalte A eingeben.
Klappt es?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

wronglyNeo 
Fragesteller
 20.03.2012, 19:25

Danke, wenn ich noch das fehlende End If hinzufüge, funktioniert es.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Target.Offset(0, 1).Value = Date
    End If
End Sub

Ich gehe davon aus, wenn dies für eine andere Spalte als Spalte A haben will, müsste in der if-Bedingung Target.Column = X stehen, wobei X den Index der Spalte darstellt und wenn das Datum relativ gesehen in eine andere Zelle geschrieben werden sollte, müsste ich den Offset() entsprechend verändern.

Danke für die Antwort, du hast mir eine Menge Zeit erspart.

1
Oubyi, UserMod Light  20.03.2012, 19:34
@wronglyNeo
  1. Da fehlt kein End If. Wenn man das, so wie gepostet in EINE Zeile schreibt, erübrigt sich das.
  2. Mit dem "Rest" hast Du vollkommen recht ☼
0
wronglyNeo 
Fragesteller
 20.03.2012, 19:45
@Oubyi, UserMod Light

Ah, ok. Ich war nicht davon ausgegangen, dass das eine syntaktische Rolle spielt. Aber vermutlich geht das nicht anders, ohne Semikola.

0
Maria0000  22.02.2018, 11:50
@wronglyNeo

Das war schon mal super hilfreich.

Wie könnte ich den Code modifizieren, wenn

  1. das Datum in einer Zelle erschein soll, sobald ich irgendwo auf der Zeile (oder zumindest in einer Auswahl an Zellen auf der Zeile) etwas ändere? (Nicht wie bisher nur, wenn ich in einer bestimmten Zelle etwas eintrage.)

UND

2. das Datum nur beim allerersten Eintrag erscheinen soll und nicht später neu, wenn ich auf der Zeile nochmal etwas ändere.

 

Hintergrund:

Ich habe eine Aufgabenliste und dort gibt es eine Spalte "Datum (erstellt am)" ... wenn ich die Zeile später nochmal bearbeite, soll trotzdem das Datum der Erstellung stehen bleiben.

 

Danke vorab :)

0
Oubyi, UserMod Light  22.02.2018, 13:14
@Maria0000

Angenommen, Deine Aufgabenliste steht in den Spalten A bis H und in I soll dann das Datum stehen. Dann teste mal diesen Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("A1:H1000") 'Hier den Bereich anpassen

If Not Intersect(Target, Bereich) Is Nothing Then
   If WorksheetFunction.CountA(Range(Cells(Target.Row, 1), Cells(Target.Row, 8))) = 1 Then
   'Hier die 1 und die 8 anpassen, für die erste und letzte Spalte im Bereich
       Cells(Target.Row, 9) = Date 'Die 9 steht hier für Spalte I: Anpassen!
   End If
End If
End Sub
0

Der einfachste Weg ist mit Strg + Punkt.

Ansonsten musst Du dafür ein Makro schreiben und der entsprechenden Zelle den Wert "Date" zuweisen.

Ich brauche auch so etwas, aber immer an der selben Stelle, daher ist das nicht so aufwendig.

Dabei musst Du Deine Tabelle so initialisieren, das sie bei einem Eintrag automatisch recht davon das Datum einträgt.

Das kann man mit solch einen Funktion vor dem Makro:

Private Sub Workbook_Open()

Sheets(1).OnEntry = "DieseArbeitsmappe.NeuBerechnen"

End Sub

Ich mache in Tabelle 1 einen Eintrag und im Hintergrund wird die Tabelle zwei neu sortiert. Es handelt sich hier um Fußballwelt- und Europameisterschaft.


wronglyNeo 
Fragesteller
 20.03.2012, 15:39

Ja, Strg+. kannte ich leider schon. Ich dachte, man kann's ja mal versuchen, vllt. gibt es ja noch eine einfachere Möglichkeit.

Meinst du mit Makros diese Visual Basic Scripts? Habe das ganze vor etlicher Zeit schnomal gemacht, aber ich denke der Aufwand lohnt hier nicht wirklich. Aber trotzdem danke.

0
Findelkind98  20.03.2012, 15:48
@wronglyNeo

Ja, ein Makro mit VBS.

Das kann schon bei vielen Dingen hilfreich sein.

Ich habe mir ein komplettes Makro für Sudoku geschrieben, weil ich mir nicht immer die Zahlen merken will.

0

Automatisch nicht aber mit =Heute() geht das


wronglyNeo 
Fragesteller
 20.03.2012, 15:31

Aber wenn ich die Funktion Heute() verwende, dann wird nicht das Datum des Zeitpunkts zu dem der Eintrag geschieht vermerkt, sondern es wird jedesmal wenn das Dokument geöffent wird das Datum dieses Tages angezeigt. Kurz: heute zeit immer das heutige Datum und ist deshalb nicht zum speichern eines bestimmten Datums geeignet.

Ich weiß auch, dass es möglich ist, mit Strg+. das heutige Datum fest in eine Zelle einzufügen, aber ich hatte mir erhofft, dass es eine Möglichkeit gibt, dies automatisch geschehen zu lassen, sobald man einen Eintrag macht.

0