AW: Änderung von Variablen innerhalb einer bestimmten Zeit
25.10.2023 18:21:38
bigmayo
Moin Micha,
Um die Anzahl der Veränderungen in den Zahlen in den Spalten A und B innerhalb eines Zeitraums von 5 Sekunden zu überwachen und die Ergebnisse in den Zellen A32 und B32 auszugeben, kannst du VBA verwenden. Hier ist ein allgemeiner Ansatz, den du anpassen kannst:
Erstelle ein neues Modul:
Öffne deine Excel-Datei und drücke Alt + F11, um den Visual Basic for Applications (VBA)-Editor zu öffnen.
Klicke im VBA-Editor auf "Einfügen" und wähle "Modul", um ein neues Modul zu erstellen.
Füge den folgenden VBA-Code in das Modul ein:
Dim LastUpdateTime As Double
Sub ÜberwacheVeränderungen()
Dim ARange As Range
Dim BRange As Range
Dim ACell As Range
Dim BCell As Range
Dim ChangeCountA As Integer
Dim ChangeCountB As Integer
Dim CurrentTime As Double
' Definiere die Zeilenbereiche in Spalte A und B (A1:A30 und B1:B30)
Set ARange = ThisWorkbook.Sheets("DeinBlatt").Range("A1:A30")
Set BRange = ThisWorkbook.Sheets("DeinBlatt").Range("B1:B30")
' Aktuelle Zeit in Sekunden seit 1900-01-01 00:00:00
CurrentTime = CDbl(Now)
' Prüfe, ob 5 Sekunden vergangen sind
If CurrentTime - LastUpdateTime >= 5 / 86400 Then
' Setze die letzte Aktualisierungszeit
LastUpdateTime = CurrentTime
' Überwache Veränderungen in Spalte A
ChangeCountA = 0
For Each ACell In ARange
If ACell.Value > ACell.Offset(-1, 0).Value Then
ChangeCountA = ChangeCountA + 1
End If
Next ACell
' Überwache Veränderungen in Spalte B
ChangeCountB = 0
For Each BCell In BRange
If BCell.Value > BCell.Offset(-1, 0).Value Then
ChangeCountB = ChangeCountB + 1
End If
Next BCell
' Gib die Anzahl der Veränderungen in Zellen A32 und B32 aus
ThisWorkbook.Sheets("DeinBlatt").Range("A32").Value = ChangeCountA
ThisWorkbook.Sheets("DeinBlatt").Range("B32").Value = ChangeCountB
End If
End Sub
Bitte ersetze "DeinBlatt" durch den Namen deines Arbeitsblatts.
Trigger für die Aktualisierung:
Du kannst den Code manuell ausführen, indem du in Excel zu "Entwicklertools" -> "Makros" gehst, das Makro "ÜberwacheVeränderungen" auswählst und auf "Ausführen" klickst.
Um die Aktualisierung automatisch alle 5 Sekunden auszulösen, kannst du den VBA-Editor öffnen und in "Eigenschaften-Fenster" (F4) deines Arbeitsblatts den Code "ÜberwacheVeränderungen" auswählen und "Wiederhole" auf "wiederholen" einstellen.
Dieser Code überwacht Veränderungen in den Zellen A1:A30 und B1:B30 und gibt die Anzahl der Veränderungen in den Zellen A32 und B32 aus. Beachte, dass die Zeit in Excel als Bruchteil eines Tages (1 Tag = 1) gemessen wird, daher wird 5 Sekunden als 5 / 86400 angegeben. Du kannst diesen Wert anpassen, um den gewünschten Zeitraum zu definieren.
Gruß