Hallo BigBen,
Mit dem Wert Höhenänderung_Korrektur/% aus Werteliste2 soll der Wert Höhenänderung/% korrigiert werden.
d.h. Höhenänderung(Werteliste1) - Höhenänderung_Korrektur(Werteliste2) zum Zeitpunkt Außentemperatur
Beispiel:
Werteliste1:
Außentemperatur 31,5°C
Höhenänderung/% -0,041
Werteliste2:
Temperatur1: 31,40°C
Höhenänderung_Korrektur/%_1: -0,002
Temperatur2: 31,70°C
Höhenänderung_Korrektur/%_2: -0,002
Der Wert für die Außentemperatur (31,5°C) und damit der Wert für die Höhenkorrektur ist in der Werteliste2 nicht vorhanden, deshalb soll dieser aus den beiden Datensätzen (Temperatur1 & Temperatur2 sowie Höhenänderung_Korrektur/%_1 & Höhenänderung_Korrektur/%_2) mittels Geradengleichung interpoliert werden.
Um an diese Werte zu kommen, versuche ich aus der Werteliste2 den jeweils nächst niedrigeren, sowie nächst höheren Wert zu finden, mit diesem Makro:
Sub grossklein()
Dim lzeile As Long
Dim dklein As Double
Dim dgross As Double
Dim letztezeile As Long
letztezeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
MsgBox letztezeile
With ThisWorkbook.Worksheets("Tabelle1")
For j = 1 To 3388
If Trim(.Range("F" & j).Value) <> "" Then
If IsNumeric(.Range("F" & j).Value) Then
For lzeile = 2 To 4000
If CDbl(.Range("F" & j).Value) >= CDbl(Worksheets("Korrektur-Werte").Cells(lzeile, 2).Value) Then
dklein = CDbl(Worksheets("Korrektur-Werte").Cells(lzeile, 2).Value)
End If
If CDbl(.Range("F" & j).Value) <= CDbl(Worksheets("Korrektur-Werte").Cells(lzeile, 2).Value) Then
dgross = CDbl(Worksheets("Korrektur-Werte").Cells(lzeile, 2).Value)
Exit For
End If
Next lzeile
End If
End If
Range("I" & j).Value = dklein
Range("J" & j).Value = dgross
Next j
End With
End Sub
Werteliste 1:
Datum Laufzeit/h Kraft/kN Höhenänderung/% Innentemperatur/°C Außentemperatur/°C
14/11/16 08:36:10 0,000 0,05 -0,041 23,8 20,7
14/11/16 08:36:20 0,003 0,05 -0,041 25,9 20,8
14/11/16 08:36:30 0,006 0,05 -0,041 28,7 21,1
14/11/16 08:36:40 0,008 0,05 -0,04 32,8 21,5
14/11/16 08:36:50 0,011 0,06 -0,04 37,7 22
14/11/16 08:37:00 0,014 0,06 -0,039 42,4 22,4
14/11/16 08:37:10 0,017 0,06 -0,039 46,8 22,9
14/11/16 08:37:20 0,019 0,06 -0,038 50,8 23,5
14/11/16 08:37:30 0,022 0,06 -0,038 54,3 24,1
14/11/16 08:37:40 0,025 0,06 -0,038 57,2 24,6
14/11/16 08:37:50 0,028 0,07 -0,038 59,8 25,2
14/11/16 08:38:00 0,031 0,07 -0,038 61,8 25,8
14/11/16 08:38:10 0,033 0,07 -0,038 63,5 26,3
14/11/16 08:38:20 0,036 0,07 -0,038 64,7 26,8
14/11/16 08:38:30 0,039 0,07 -0,038 65,7 27,3
14/11/16 08:38:40 0,042 0,07 -0,039 66,4 27,8
14/11/16 08:38:50 0,044 0,07 -0,039 67 28,2
14/11/16 08:39:00 0,047 0,08 -0,039 67,3 28,6
14/11/16 08:39:10 0,050 0,08 -0,039 67,5 29
14/11/16 08:39:20 0,053 0,08 -0,039 67,5 29,3
14/11/16 08:39:30 0,056 0,09 -0,04 67,5 29,7
14/11/16 08:39:40 0,058 0,09 -0,04 67,3 30
14/11/16 08:39:50 0,061 0,09 -0,04 67 30,3
14/11/16 08:40:00 0,064 0,09 -0,04 66,7 30,5
14/11/16 08:40:10 0,067 0,09 -0,04 66,3 30,8
14/11/16 08:40:20 0,069 0,09 -0,04 65,9 31
14/11/16 08:40:30 0,072 0,09 -0,04 65,5 31,2
14/11/16 08:40:40 0,075 0,09 -0,041 65 31,5
14/11/16 08:40:50 0,078 0,09 -0,041 64,5 31,7
14/11/16 08:41:00 0,081 0,09 -0,041 64 31,9
14/11/16 08:41:10 0,083 0,09 -0,041 63,4 32
14/11/16 08:41:20 0,086 0,1 -0,041 62,9 32,2
14/11/16 08:41:30 0,089 0,1 -0,041 62,3 32,3
14/11/16 08:41:40 0,092 0,1 -0,041 61,7 32,5
14/11/16 08:41:50 0,094 0,1 -0,042 61,2 32,6
14/11/16 08:42:00 0,097 0,1 -0,042 60,6 32,7
14/11/16 08:42:10 0,100 0,1 -0,041 60,2 32,9
14/11/16 08:42:20 0,103 0,1 -0,042 60 33
Werteliste 2:
Laufzeit/h Innentemperatur/°C Höhenänderung_Korrektur/%
0,00 26,30 0,000
0,00 26,60 -0,001
0,01 26,90 -0,001
0,01 27,20 -0,001
0,01 27,50 -0,001
0,01 27,70 -0,001
0,02 28,00 -0,001
0,02 28,20 -0,001
0,02 28,50 -0,001
0,03 28,70 -0,001
0,03 28,90 -0,002
0,03 29,10 -0,002
0,03 29,40 -0,002
0,04 29,50 -0,002
0,04 29,70 -0,002
0,04 29,90 -0,002
0,04 30,10 -0,002
0,05 30,30 -0,002
0,05 30,40 -0,002
0,05 30,60 -0,003
0,06 30,70 -0,002
0,06 30,90 -0,002
0,06 31,10 -0,002
0,06 31,40 -0,002
0,07 31,70 -0,002
0,07 32,00 -0,002
0,07 32,20 -0,001
0,08 32,40 -0,001
0,08 32,80 -0,001
0,08 33,10 -0,001
0,08 33,50 -0,001
0,09 33,90 -0,001
0,09 34,40 0,000
0,09 34,80 0,000
0,09 35,20 -0,001
0,10 35,70 0,000
|