AW: Temperaturauswertung
18.05.2011 14:42:55
Dominik
Hi Rainer,
habe mal ein kleines Programm geschrieben.
Hier die Ausgangstabelle: (1 Spalte Datum + Uhrzeit, 2. Spalte Temperatur)
18.05.2011 14:04 21,7
19.05.2011 14:10 22,3
20.05.2011 14:04 23,4
21.05.2011 17:04 21,6
22.05.2011 14:04 24,2
23.05.2011 19:04 24,78
24.05.2011 14:04 21,54
25.05.2011 14:04 36,56
26.05.2011 15:04 24,34
27.05.2011 14:04 11,23
28.05.2011 14:04 233,3
30.05.2011 19:04 34,2
30.05.2011 14:04 22,7
31.05.2011 14:04 23,2
01.06.2011 14:04 23
02.06.2011 14:04 32,3
03.06.2011 14:43 45,2
04.06.2011 14:04 34,2
05.06.2011 14:04 21,7
06.06.2011 14:44 23
07.06.2011 14:04 14
08.06.2011 14:04 23
09.06.2011 14:04 57
10.06.2011 14:04 34
11.06.2011 14:04 23
Hier das Ergebnis:
(1. Spalte Datum + Uhrzeit, 2. Spalte Temperatur, 3. Spalte Stundendifferenz,
4. Spalte Temperaturdifferenz, 5. Spalte - Summe aller Temperaturschwankungen = 25)
18.05.2011 14:04 21,7 25
19.05.2011 14:10 22,3 24 0,6
20.05.2011 14:04 23,4 24 1,1
21.05.2011 17:04 21,6 27 -1,8
22.05.2011 14:04 24,2 21 2,6
23.05.2011 19:04 24,78 29 0,58
24.05.2011 14:04 21,54 19 -3,24
25.05.2011 14:04 36,56 24 15,02
26.05.2011 15:04 24,34 25 -12,22
27.05.2011 14:04 11,23 23 -13,11
28.05.2011 14:04 233,3 24 222,07
30.05.2011 19:04 34,2 53 -199,1
30.05.2011 14:04 22,7 -5 -11,5
31.05.2011 14:04 23,2 24 0,5
01.06.2011 14:04 23 24 -0,2
02.06.2011 14:04 32,3 24 9,3
03.06.2011 14:43 45,2 24 12,9
04.06.2011 14:04 34,2 24 -11
05.06.2011 14:04 21,7 24 -12,5
06.06.2011 14:44 23 24 1,3
07.06.2011 14:04 14 24 -9
08.06.2011 14:04 23 24 9
09.06.2011 14:04 57 24 34
10.06.2011 14:04 34 24 -23
11.06.2011 14:04 23 24 -11
Und hier der Code mit Erklärung:
Sub Temperatur()
'Benutzte Reihe (Anzahl Temperaturschwankungen zählen)
LastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'Zelle E1 wird mit Anzahl der Temperaturschwankunge beschrieben
Range("E1") = LastRow
'Schleife von der 2ten Zeile (1te Zeile hat ja keinen Vergleich, da erste Zeile ;)) der _
Temperatur Einträge, _
bis zur letzten um Zeit und Temperaturschwankung zu berechnen
For a = 2 To LastRow
'Datum der vorherigen Zeile
DatumOld = Range("A" & a - 1)
'Datum der Zeile des aktuellen Schleifeindex
DatumNew = Range("A" & a)
'Differenz zwischen beiden Daten in Stunden, kann angepasst werden
DatumsDiff = DateDiff("h", DatumOld, DatumNew)
'Differenz in Spalte C, Reihe aktueller Schleifenindex a einschreiben
Range("C" & a) = DatumsDiff
'Temperatur der vorherigen Zeile
TempOld = Range("B" & a - 1)
'Temperatur der Zeile des aktuellen Schleifenindex
TempNew = Range("B" & a)
'Differenz zwischen beiden Temperaturen
TempDiff = TempNew - TempOld
'Differenz in Spalte D, Reihe aktueller Schleifenindex a einschreiben
Range("D" & a) = TempDiff
'Ende der Schleife
Next a
End Sub
NATÜRLICH wird nicht alles perfekt auf dich passen, musst du dann halt anpassen, aber ist doch ein guter Anfang, für weitere Fragen bin ich auch offen ;)
Beste Grüße und VIEL Erfolg
Dominik