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

Zeitstempel - automatische Änderung

Zeitstempel - automatische Änderung
13.02.2008 17:52:14
harald
Hallo,
habe alles im Forum über Zeitstempel gelesen und zu großen Teilen auch ausprobiert. Leider bleibt mein Problem bestehen:
Über das nachfolgende VBA-Script (außer C&P der Codes kann ich selbst leider kein VBA) wird zu einem veränderbaren Zelleninhalt in C10 jeweils der Maximalwert in G10 festgehalten:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address(False, False) = "C10" Then _
If IsNumeric(.Value) And .Value > Range("G10").Value Then _
Range("G10").Value = .Value
End With
End Sub


Jetzt soll bei Auftreten eines neuen Maximalwerts zusätzlich immer ein neuer Zeitstempel gesetzt werden. Beispiel:
Wert in veränderbarer Zelle C10: 115 (die Werte in dieser Zelle werden übrigens nicht manuell geändert, sondern durch externe Verlinkung "eingespielt").
Wert in Maximal-Zelle G10: 120
aktueller Zeitstempel in G12: 10:00:05
Sobald einer neuer Max-Wert in C10 auftritt (also ab 120,01) wird dieser in G10 "abgespeichert" und gleichzeitig soll in G12 hierfür ein neuer Zeitstempel erfolgen, zB 11:45:06. Dieser Stempel soll dann unveränderlich bis zum Auftreten des nächsten Max-Wertes sein.
Schon jetzt vielen vielen Dank für die Hilfe!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stempelzeit
13.02.2008 18:43:00
Gerd
Hi,
Range("G12").Value = Format(Time, "hh:mm:ss")
in die leere Zeile vor "End With"
Gruß Gerd

AW: Stempelzeit
13.02.2008 18:50:00
harald
Hallo Gerd,
danke für die schnelle Antwort. Das ist leider noch nicht was ich suche, denn der Zeitstempel verändert sich dann nicht nur bei einem neuen Max-Wert in C10 bzw. G10, sondern auch bei beliebiger Änderung des Wertes in C10.
Wie kann man das lösen? Nochmals vielen Dank.
Gruß
Harald

AW: Stempelzeit
13.02.2008 19:04:47
Gerd
Hallo,
ja, stimmt. Ich war zuschnell.
If Range("G10").Value = Range("C10").Value Then _
Range("G12").Value = Format(Time, "hh:mm:ss")
Gruß Gerd

Anzeige
AW: Stempelzeit
13.02.2008 20:40:43
harald
Hallo,
fast perfekt, danke. Leider wird die Bedingung noch nicht erfüllt, dass der neue Zeitstempel erst bei einem neuen Max-Wert wieder gesetzt wird. In der momentanen Lösung erfolgt ein neuer Stempel bereits wenn der Max-Wert nach unten verlassen und wieder in gleicher Höhe erreicht wird, erst bei dessen Übertreffen soll jedoch ein neuer Stempel gesetzt werden.
Nochmal Danke!
Gruß
Harald

AW: Stempelzeit
13.02.2008 22:09:52
Gerd
Hallo Harald,
pobier' s mal so.

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If Not Intersect(Range(.Address(False, False)), Range("C10,G10")) Is Nothing Then
If .Address(False, False) = "C10" Then _
If IsNumeric(.Value) And .Value > Range("G10").Value Then _
Range("G10").Value = .Value
If .Address(False, False) = "G10" Then _
Range("G12").Value = Format(Time, "hh:mm:ss")
End If
End With
End Sub


Gruß Gerd

Anzeige
AW: Stempelzeit
14.02.2008 08:51:00
harald
Hallo Gerd,
das funktioniert erstklassig, danke!
Wie eingangs erwähnt, erhält das Feld C10 seine Daten nicht durch manuelle Eingabe mit Bestätigung durch "Enter". Der Code funktioniert aber - soweit ich sehe - leider nur, wenn die Änderung in C10 mit Enter bestätigt wird. Wenn das Feld C10 seine Daten durch Verknüpfung mit einer anderen Zelle, zB A10, im gleichen, aber erst recht in einem anderen Arbeitsblatt erhält, funktioniert er leider nicht mehr: C10 ändert sich zwar, aber G10 und G10 bleiben konstant.
Kann man das beheben? (Wiederum vorab ein großes Danke!).
Gruß
Harald

Anzeige
AW: Stempelzeit
14.02.2008 22:36:08
Gerd
Guten Abend Harald,
da die Werte nicht nach C10 einfliegen, müsste in dieser Zelle eine Formel stehen.
Dann so.

Private Sub Worksheet_Calculate()
Static AlterG10Wert
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
With Range("C10")
If Not IsEmpty(.Value) And IsNumeric(.Value) Then _
If .Value > Range("G10").Value Then _
Range("G10").Value = .Value
If Range("G10").Value > AlterG10Wert Then _
Range("G12").Value = Format(Time, "hh:mm:ss")
End With
AlterG10Wert = Range("G10").Value
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub


Gruß Gerd

Anzeige
AW: Stempelzeit
15.02.2008 10:40:31
harald
Hallo Gerd,
Super-Arbeit! Funktioniert jetzt genau so, wie es soll. Großes DANKE!
Nachdem in Spalte G die Max-Werte behandelt werden, habe ich selbst versucht, den Code so anzupassen, dass in Spalte E (dort in den gleichen Zeilen wie in Spalte G) die Min-Werte entsprechend erfasst werden:

Private Sub Worksheet_Calculate()
Static AlterG10Wert
Static AlterE10Wert
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
With Range("C10")
If Not IsEmpty(.Value) And IsNumeric(.Value) Then _
If .Value > Range("G10").Value Then _
Range("G10").Value = .Value
If Range("G10").Value > AlterG10Wert Then _
Range("G12").Value = Format(Time, "hh:mm:ss")
If Not IsEmpty(.Value) And IsNumeric(.Value) Then _
If .Value 


Meine Stümperei funktioniert zwar, jedoch nur unter der Einschränkung, dass man in E10 - im Gegensatz zu G10 - vorab einmal eine Zahl manuell eintragen muss. Kann man diesen Schönheitsfehler noch beseitigen?
Gruß
Harald

Anzeige
AW: Stempelzeit
15.02.2008 16:27:42
harald
Hallo Ger,
noch ein Nachtrag:
Wie ich jetzt feststellen musste (war vorab leider nicht erkennbar), kommen die veränderlichen Daten nach C10 mit einem Punkt statt einem Komma als Dezimaltrennung "eingeflogen". Ich nehme an, dass dies der Grund ist, warum der ganze schöne Code nun nicht mehr funktioniert, d.h. Werte werden zwar angezeigt, aber nicht mehr gemerkt. Wie kann ich den Punkt auf Komma ändern?
Gruß
Harald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige