Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Timestamp bei erster Änderung

Timestamp bei erster Änderung
27.12.2007 11:32:00
Hartwig
Hallo, liebe VBA und Exel Profis,
vielleicht könnt Ihr mir bei folgendem Problem helfen:
Diesen vba code verwende ich, um Änderungen mit einem Timestamp zu versehen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then 'Wenn Spalte 4 verändert wird
Cells(Target.Row, 7) = Now ' dann schreib in Spalte 7 den timestamp
End If
End Sub


Wie kann ich erreichen, das nur die erste Veränderung den Timestamp auslöst, alle weiteren
Änderungen auf den Timestamp wirkungslos bleiben ?
vielen dank vorab..

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Timestamp bei erster Änderung
27.12.2007 11:41:00
Erich
Hallo Hartwig,
if isempty(Cells(Target.Row, 7)) then Cells(Target.Row, 7) = Now
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Timestamp bei erster Änderung
27.12.2007 13:52:00
Hartwig
Hallo Erich G....
vielen Dank, das war genau das, was ich gesucht habe..
Nun habe ich mal weiter gesponnen...
Dies funktioniert bezogen auf Eingaben in die Zelle. Könnte man es so verändern, das auch auf Formelergebnisse reagiert wird ?
Will heißen :
=WENN($G7"";1;"")
Gibt WENN 1 zurück, dann den timestamp ?
Wäre aber kein Drama, wenns nicht gehen sollte, mit deiner Antwort hast du mir schon sehr geholfen.
vielen Dank dafür
gruß Hartwig

Anzeige
AW: Timestamp bei erster Änderung
27.12.2007 16:51:10
Erich
Hallo Hartwig,
da sehe ich zwei Möglichkeiten:
a)
Bisher werden Eingaben in Spalte D(=4) überwacht.
Wenn nun nicht in Spalte D, sondern in Spalte F eingeben wird,
muss man halt Spalte F überwachen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 Then 'Wenn Spalte F=6 verändert wird
If Cells(Target.Row, 4) = 1 Then ' wenn in Spalte D=4 eine 1 steht
If IsEmpty(Cells(Target.Row, 7)) Then Cells(Target.Row, 7) = Now
End If
End If
End Sub
' ODER:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 Then 'Wenn Spalte F=6 verändert wird
If Not IsEmpty(Cells(Target.Row, 6)) Then ' wenn Spalte F=6 nicht leer ist
If IsEmpty(Cells(Target.Row, 7)) Then Cells(Target.Row, 7) = Now
End If
End If
End Sub

In der Formel in Spalte D7 habe ich $F7 statt $G7 geschrieben - in G sollten ja die Timestamps.
b)
Du lässt nicht bei Eingaben, sondern bei jeder Neuberechnung prüfen, mit dem Ereignis Worksheet_Calculate()
Beispierle könntest du dir im Archiv ansehen, hier nur ein Link dazu:
https://www.herber.de/forum/archiv/580to584/t582574.htm
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Timestamp bei erster Änderung
28.12.2007 07:05:00
Hartwig
Hallo Erich
Jetzt macht es genau das, was es soll
vielen dank für deine schnelle Hilfe
gruß, Hartwig

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige