Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeitstempel einfieren

Zeitstempel einfieren
30.10.2021 22:58:58
Bernd
Hallo zusammen,
ich möchte in der Spalte B2:B2000 das aktuelle Datum eintragen, wenn in Spalte A2:A2000 eine beliebige Zahl steht (kann auch doppelt vorkommen).
Wenn in einer Zeile ein Wert gelöscht wird, soll das Datum wieder verschwinden.
Mein erster Lösungsansatz ist im Blatt 1 zu sehen. Das funtioniert, aber ich bekomme eine Schleife, aber Excel warnt mich vor einer Schleife, weiß nicht ob das so gut ist?!
=WENN(A2="";"";(WENN(B2="";JETZT();B2)))
Mein zweiter Ansatz ist mittels VBA
Das funktioniert auch, aber wenn ich mehr wie zwei Zeilen markiere oder einfüge, bekomme ich einen Laufzeitfehler 1004. Außerdem habe ich das Gefühl, dass die Tabelle mit dem Makro träger arbeitet. (Die eigentliche Tabelle ist viel größer, mit bedingten Formatierungen, vielen Formeln...)
Ich hatte auch schon eine Lösung gefunden, die ich aber momentan nicht wieder finde, in der man diesen Laufzeitfehler umgehen kann.
Problem war dann aber, dass ich nicht einfach Werte z.B. nach unten ziehen konnte und diese zählt es dann weiter. z.B. wenn 1 in A1 steht und 2 A2 und ich markiere beide und ziehe es nach unten zählt Excel automatisch hoch.
Mein dritter Ansatz wäre jetzt, beides zu kombinieren. Ich schreibe eine Formel in B, die mir das Datum anzeigt sobald in A was eingetragen wird. Das Makro soll vor oder nach dem Speichern das eintrage Datum einfrieren. Quasi aus der Formel nur das reine Ergebnis stehen lassen. In Zeilen in denen A leer ist, soll die Formel erhalten bleiben. Wird irgendwann ein Wert in A gelöscht und ich speichere, soll wieder die Formel eingetragen werden.
Vorteil dieses Ansatzes wäre, dass das Makro aus Ansatz 2 nicht alles bremsen würde und die keine Schleife in in Ansatz 1 habe.
Nachteil ich weiß nicht wie es geht :)
Habt Ihr vielleicht auch eine elegantere Lösung in der Schublade?
Vielen Dank für eine Hilfe
Hinweis: In meiner Tabelle habe ich vorerst nur Uhrzeitwerte genommen, damit ich nicht bis zum nächsten Tag werten muss um es zu prüfen ;)
https://www.herber.de/bbs/user/148872.xlsm

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitstempel einfieren
30.10.2021 23:23:19
Werner
Hallo,
mit Formel geht das eh nicht, da die Formel ständig aktualisiert wird, sobald irgendwo auf dem Blatt ein Eintrag getätigt wird.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Then
If Target.Column = 1 Then
For Each Target In Target
If Target  "" And IsNumeric(Target) Then
Target.Offset(, 1) = Now
Else
Target.Offset(, 1).ClearContents
End If
Next Target
End If
End If
End Sub
Gruß Werner
AW: Zeitstempel einfieren
31.10.2021 09:48:13
GerdL
Moin Bernd!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
If Not Intersect(Target, Range("A2:A2000")) Is Nothing Then
For Each C In Intersect(Target, Range("A2:A2000"))
Application.EnableEvents = False
If IsNumeric(C.Text) Then
C.Offset(0, 1) = Date
Else
C.Offset(0, 1).ClearContents
End If
Application.EnableEvents = True
Next
End If
End Sub
akt. Zeitpunkt = Now
akt. Datum= Date
Was beim Löschen geschehen soll, müsstest du ggf. noch klarer definieren.
Gruß Gerd
Anzeige
AW: Zeitstempel einfieren
31.10.2021 14:24:34
Bernd
Vielen Dank für eure Hilfe.
Es sieht alles sehr gut aus und ich werde es morgen in meiner eigentlichen Excel mal einbauen und ausführlich testen.
Ich denke das Einfrieren hat sich auch erstmal erledigt, wenn sich der Wert nur noch ändert, wenn sich in der entsprechenden Zeile was ändert.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige