Excel Datum der Erstellung einfügen

7 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Falls Dir die anderen Antworten nicht genügen, erkläre ich Dir mal, wie das mit VBA zu verwirklichen ist.
Angenommen bei Einträgen im Bereich A1:A100 soll das Datum in B1:B100 erscheinen. Dann mache einen Rechtsklick auf den Tabellenreiter (unten, da wo z.B. Tabelle1 steht) und gehe dann auf "Code anzeigen...". In das große Fenster des VBA-Editors, der sich dann öffnet kopierst Du folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then _
Target.Offset(0, 1) = Date
End Sub

Fenster schließen und die Datei als .xlsm speichern, und Makros zulassen.
Hilft Dir das?

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

13R41N 
Beitragsersteller
 18.02.2014, 13:42

Danke. Das habe ich gemacht. Irgendwie wird mir aber das Datum nur in B angezeigt, wenn A leer ist o.O Eigentlich bräuchte ich es andersrum.

Zudem hätte ich das Datum gerne in Zeile O und weiß nicht wie ich es da hinbekomme

PS: Wenn ich die zeilen neu Ordne von A-Z, bleibt das Datum dann trotzdem das Alte?

0
13R41N 
Beitragsersteller
 18.02.2014, 13:45
@13R41N

Achja, Bezugszeile soll trotzdem A sein

0
Oubyi, UserMod Light  18.02.2014, 23:21
@13R41N

DAS kann ich so nicht nachvollziehen.
Bei mir fügt der Code bei irgendeiner Eingabe in Spalte A das Datum in Spalte B ein.
Um es in O einzufügen muss der Code so aussehen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then _
Target.Offset(0, 14) = Date
End Sub

Also bei Offset statt 0,1 die 0,14 (heißt gehe 14 Zellen nach rechts).
Und JA, wenn Du das sortierst, und dabei ALLE Spalten markiert hast, bleibt das Datum richtig zugeordnet.
Wenn das Makro das Datum eingefügt hat, ist es dasselbe, als wenn Du es manuell eingeben hättest.

1
13R41N 
Beitragsersteller
 19.02.2014, 07:31
@Oubyi, UserMod Light

Oh es geht. Jippie. Ich danke dir recht herzlich.

Witzig ist, dass ich den Quellcode oben verstehe, aber es nciht ändern konnte :)

Danke Danke Danke Danke!

0
13R41N 
Beitragsersteller
 19.02.2014, 08:34
@13R41N

noch ein Problem habe ich gerade festgestellt.

Ich fülle ja die Zeile A bis N aus (also 14 Stück). Mit dem obigen Code werden dahinter dann pro Ziele je ein Datum geschrieben (also 14 Mal das gleiche Datum).

Ich würde es aber gern nur einmal haben, da es ja sonst einfach total unüberischtlich ist.

Wie muss der Code verändert werden, dass NUR in Zeile 14, also O, das Datum steht?

0
Oubyi, UserMod Light  19.02.2014, 11:53
@13R41N

Hallo, diese seltsame, interessante, komische Verhalten von Excel war mir auch noch nicht "untergekommen".
Ich halte das schlicht für einen Fehler.
Aber egal, SO sollte es besser klappen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then _
Cells(Target.Row, Target.Column + 14) = Date
End Sub

Klappt es?

P.S.:
Danke fürs ☆
und fürs Kompliment.

1
13R41N 
Beitragsersteller
 19.02.2014, 12:25
@Oubyi, UserMod Light

Hört isch jetzt nen bissl merkwürdig an wenn ich schreibe:

Schön dass du dein erstes Mal suchr mich hattest ;)

Spaß beiseite:

Klappt jetzt bestens. Ich danke dir wie verrückt.

Hast dir natürlich ☆ verdient ;)

0

Moin!

Für die Arbeitsmappe gibts glaube ich einen Befehl, mit dem man z. B. in der Kopfzeile oder einer best. Zelle das letzte Änderungsdatum eintragen kann.

In Office Excel 2010 (denke mal auch andere Versionen) gibts aber auch unter "Überprüfen" - "Änderungen nachverfolgen", da kannst du dir auf einem extra Blatt alle Änderungen protokollieren lassen, ich denke das wäre einfacher, als in jede Zeile ein Datum eintragen zu lassen. Und auch übersichtlicher. ;)

Ansonsten könnte ich mir vorstellen, dass sich das mit VisualBasic realisieren läßt, da hab ich aber keine Ahnung wie. :)


13R41N 
Beitragsersteller
 18.02.2014, 07:59

Danke für die Antwort, aber das geht in meinem Fall nicht. Ich habe eine Tabelle, in der Zeilen dazukommen und wieder wegmüssen.

Trotzdem brauche ich für jede einzelne Zeile ein Erstelldatum.

Das ist mein Problem, da ich sonst das Datum einfach mit Hand geschriben hätte ;)

0

Mit Strg + Punkt kannst du das aktuelle Datum in eine Zeile einfügen.

Wie es automatisch geht weiß ich nicht, da musst du dann im Notfall programmieren bzw. mal googeln. Das Problem werden sicher schon viele Leute auf der Welt gehabt haben.


13R41N 
Beitragsersteller
 18.02.2014, 08:02

Oh das wusste ich auch nicht. Danke für den Hinweis ;)

0

Du kannst das Datum manuell einfügen und die Zelle als "Datum" formatieren (nicht "Heute") als kurz, lang oder mit Wochentag Datum.


13R41N 
Beitragsersteller
 18.02.2014, 08:04

Danke, aber auch das hilft mir bislang nicht (siehe oben) ;)

0