Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeitreihe DeltaEvent

Forumthread: Zeitreihe DeltaEvent

Zeitreihe DeltaEvent
02.03.2006 14:57:00
schubert@systemtechnik.net
Hallo Forum,
möchte eine in DelatEvent-Verfahren gespeicherte Zeitreihe aufbereiten, d.h. die "Lücken" der Zeitreihe schließen.
Die Quelle (Spalte A - C, DeltaEvent.xls) beinhaltet nur die Änderungen der Zeitreihe. Die Zeitreihe nimmt Werte mit einer Auflösung von 5 Minuten, d.h. alle 5 Minuten wird eine Messung durchgeführt und bei einer Änderung gespeichert. Also wird der erste Wert aufgenommen (A1) und so lange kein Wert gespeichert bis eine Änderung gemessen worden ist (A2) usw..
Die hochgeladene Datei enthät die Quelle (A - C) und die umgewandelte Zeitreihe (E - G).
Hat jemand eine Idee wie ich das Problem lösen kann?
Vielen Dank & Gruß
Arthur
https://www.herber.de/bbs/user/31569.xls
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitreihe DeltaEvent
03.03.2006 12:11:09
Franz
Hallo Arthur,
nach etwas Bastelarbeit sieht meine VBA-Lösung so aus:

Sub FehlendeZwischenwerte()
' Fügt fehlende Zeitzwischenwerte in 2. Tabellen ein
Dim Messwerte As Range, StartS As Integer, StartZ As Integer
Dim DeltaZeit As Date, NextTime As String, LastTime As String
Dim J As Integer, I As Integer
With ThisWorkbook.Sheets("Tabelle1")
' Bereich mit den Messwerten
Set Messwerte = .Range("A1:C" & Application.WorksheetFunction.Count(.Range("A:A")))
' Position an der die Ausgabe der vollständigen Messreihe beginnen soll
StartS = 5 '1. Spalte in der die aufgefüllte Messreihe beginnen soll
StartZ = 1 '1. Zeile in der die aufgefüllte Messreige beginnen soll
DeltaZeit = 5 / 60 / 24 '5 Minuten in Excel-interner zeitrechnung
'1. Messwert übertragen
J = 1: I = 1
Cells(StartZ, StartS) = Messwerte(I, 1)
Cells(StartZ, StartS + 1) = Messwerte(I, 2)
Cells(StartZ, StartS + 2) = Messwerte(I, 3)
' restliche Messwerte übertragen und auffüllen
For I = 1 To Messwerte.Rows.Count - 1
NextTime = Format((Messwerte(I + 1, 1) + Messwerte(I + 1, 2)), "DD.MM.YYYY hh:mm")
LastTime = Format((Cells(StartZ + J - 1, StartS) + Cells(StartZ + J - 1, StartS + 1) + DeltaZeit), "DD.MM.YYYY hh:mm")
Do Until NextTime = LastTime
Cells(StartZ + J, StartS) = CDate(Format(Cells(J, StartS) + Cells(J, StartS + 1) + DeltaZeit, "DD.MM.YYYY"))
Cells(StartZ + J, StartS + 1) = CDate(Format((Cells(J, StartS) + Cells(J, StartS + 1) + DeltaZeit), "hh:mm"))
Cells(StartZ + J, StartS + 2) = Messwerte(I, 3)
LastTime = Format((Cells(StartZ + J, StartS) + Cells(StartZ + J, StartS + 1)) + DeltaZeit, "DD.MM.YYYY hh:mm")
J = J + 1
Loop
Cells(StartZ + J, StartS) = Messwerte(I + 1, 1)
Cells(StartZ + J, StartS + 1) = Messwerte(I + 1, 2)
Cells(StartZ + J, StartS + 2) = Messwerte(I + 1, 3)
J = J + 1
Next I
End With
End Sub

Hauptproblem war, auch einen Datumswechsel auber zu bearbeiten.
Gruß
Franz
Anzeige
AW: Zeitreihe DeltaEvent
03.03.2006 12:33:09
schubert@systemtechnik.net
Super vielen Dank!!!!!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige