Nepumuk hat mir in diesem Forum zu einer Automatisierung verholfen. Ich lese Kurse per Hauppauge-Karte (Fernsehen und Teletext) in ein Spreadsheet ein und will davon auch die Höchst und Tiefstkurse des Tages automatisch in der gleichen Zeile neben der Spalte der aktuellen Kurse mit angezeigt bekommen.
Folgende von Nepumuk erstellte Codes funktionieren bei mir, wobei "Kurs" sich auf das Blatt in der Tabelle bezieht.
Beitrag von Nepumuk vom 15.01.2003 - 10:12:08:
Als Antwort auf: Neue Zahl in Zelle automatisch erhöhen lassen
Hallo Norbert, wenn ich das richtig verstehe, willst du in C848 das maximum von E848 und in D848 das minimum, wobei in E848 eine Formel steht. Das kannst du für die Zeilen 848 und 849 so machen (3, 4, und 5 bezieht sich auf Spalte C, D und E - in E (also 5) steht der aktuelle Kurs):
Mit ALT F11 VB öffnen und folgendes eingeben === damit es mit Formeln in Zellen funktioniert:
Im Klassenmodul "Diese Arbeitsmappe" folgenden Code:
Option Explicit
Private Sub Workbook_Open()
Kursaenderung
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime Zeit, "Kursaenderung", , False
End Sub
In ein "normales" Modul:
Option Explicit
Public Zeit As Date
Public Sub Kursaenderung()
With ThisWorkbook.Sheets("Kurs")
If (Hour(Time) > 13 And Minute(Time) > 33) Or Time = "00:00:00" Then
If .Cells(848, 5) > .Cells(848, 3) Or .Cells(848, 3) = "" Then .Cells(848, 3) = .Cells(848, 5)
If .Cells(848, 5) < .Cells(848, 4) Or .Cells(848, 4) = "" Then .Cells(848, 4) = .Cells(848, 5)
Else
If .Cells(849, 5) > .Cells(849, 3) Or .Cells(849, 3) = "" Then .Cells(849, 3) = .Cells(849, 5)
If .Cells(849, 5) < .Cells(849, 4) Or .Cells(849, 4) = "" Then .Cells(849, 4) = .Cells(849, 5)
End If
End With
Zeit = Time + TimeSerial(0, 0, 30)
Application.OnTime Zeit, "Kursaenderung"
End Sub
dieses Programm wird dann mit dem öffnen der Mappe in eine rekursive Schleife geschickt, die sich im 30 Sekunden-Takt selbst aufruft und die Werte in den max./min.-Zellen aktuallisiert. Das dürfte in jedem Fall reichen um keinen kursstruz zu verpassen. Ausserdem wechselt ab 13:33 Uhr wie erwünscht, die Ausgabe von Zeile 849 in Zeile 848 zurück und ab 0:00 Uhr wieder in die Zeile 849.
Mit freundlichen Grüssen
Nepumuk
https://www.herber.de/forum/messages/204269.html