Excel Datum automatisch eine spalte überhalb eintragen lassen VB?
Hallo,
Ich würde gerne wenn ich eine Eintragung mache in eine Spalte, das Datum in die spalte darüber automatisch eintragen lassen. Das ganze wird über VB gesteuert habe ich schon herrausgefunden jedoch will das ganze nicht so recht funktionieren. hier mal ein beispiel foto zum klaren verständnis wie meine tabelle aussieht, und was ich vorhabe deutlich zu erkennen.
Es wird Ms Office Excel Standart 2016 - verwendet.
neben 1(Spalte L,M,N...) sollen dann immer andere namen eingetragen werden.
neben 2(Spalte L,M,N...) immer das aktuelle Datum.
3 Antworten
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("K2:Z2")) Is Nothing Then _
Target.Offset(-1).Value = Date
End Sub
bin ich gerade doof? Du würdest die Formel in K1 eintragen? Dann hättest du doch aber einen Zirkelbezug oder denke ich falsch?
Anstatt mit heute probiere es doch mit jetzt(), da hast du auch Stunden und Sekunden dabei
Wenn du die Iterative Berechnung aktiv hast, kannst du Zirkelbezüge definieren.
Ja, JETZT ist eine gute Idee.
ah okay, habe ich noch nicht gewusst, wusste noch nicht mal wo ich dies finde, werde mich mal schlau machen kann in so manchem Fall nützlich sein.
Ich habe es mit JETZT nun getestet. Es funktioniert.
Die Iterative Berechnung findest du unter
Datei > Optionen > Formeln > (x) Iterative Berechnung aktivieren
Maximale Iterarationszahl: 1
Zu VB wirst Du sicher noch eine konkrete Angabe erhalten.
Mit der Tastenkombination "Strg und . (Punkt)" wird das aktuelle Datum eingetragen.
klingt in meinem aktuellen Verständnis der Frage, recht simpel.
=Wenn(Istleer(K2);;Heute())
sprich wenn irgendwas (auch Name) in K2 eingetragen wird, wird in K1 das Datum von heute ausgeworfen.
Dieses "Formeldatum" aktualisiert sich aber jeden Tag. bzw. jeweils. wenn die Datei geöffnet wird.
okay dann verstehe ich das so, dass das Datum "gespeichert" werden soll an dem der Eintrag (Name) erfasst wird. Das wird schwer und afaik nicht auf reiner Basis von Excel machbar. Würde da mit App-Script arbeiten
Ja deswegen muss mit VB Script gearbeitet werden soviel ich mich erkundigt habe. Soll einfach Datum protokollieren wann etwas eingetragen wurde in die Tabelle
Sosehr ich auch Feind von VBA bin, sehe ich stand jetzt tatsächlich außer dem Ansatz strg + . Selber drücken keine Möglichkeit dies zu erfassen Formeln die nur ein einziges Mal ausgewertet werden bei erstmaliger Änderung gibt es in meinen Augen nicht.
Theoretisch kannst du auch mit iterartiver Berechnung arbeiten. Die Iterationszahl würdest du dann auf 1 stellen. Es lässt sich für mich nur schlecht testen, ob das Datum morgen auf dem heutigen eingefroren bleibt.
Die Hoffnung ist die, dass in dem Moment, in dem K1 in K1 geschrieben wird, das HEUTE() in eine echte Zahl gewandelt wird / der Wert der Formel gespeichert wird.