Hallo liebe Community,
ich habe in Excel eine Tabelle mit Verschiedenen Messdaten. Pro Messung 2 Daten in einer Zeile. Bsp.:
A B
7,42 7,82
7,50 7,64
7,62 6,49
...
Zusätzlich gibt es eine Tabelle, in der zu jedem 0.1 Schritt (innerhalb des entspr. Messbereichs) ein Wert zugeordnet ist. Bsp.:
N O
7,3 12,31
7,4 8,9
7,5 9,8
7,6 11,7
7,7 10,9
7,8 5,3
...
Es sollen nun die entsprechenden Werte aus O für die Messdaten (aus A&B, gerundet) herrausgesucht werden. Für jeden 0,1 Sprung sollen die Werte addiert werden und das Ergebnis ausgegeben werden.
Am Beispiel für Zeile 1:
A = 7,42 gerundet 7,4
B = 7,82 gerundet 7,8
A bis B: 7,4 7,5 7,6 7,7 7,8
also: 8,9 + 9,8 + 11,7 + 10,9 => Ausgabewert: 41,3
Hierzu habe ich eine Funktion geschrieben die mir diese Werte ausgeben soll. Ausgeben tut sie aber nur leider den Fehler "#WERT!"
Public Function HI(X As Double, Y As Double, Daten As Variant) As Double
Dim HIWERT As Double
Dim X1 As Single
Dim Y1 As Single
X1 = WorksheetFunction.Round(X, 1)
Y1= WorksheetFunction.Round(Y, 1)
If (Y1 - X1 > 0) Then
While (X1 <> Y1)
HIWERT = (WorksheetFunction.VLookup(X1, Daten, 2))
HI = HI + HIWERT
X1 = X1 + 0.1
Wend
ElseIf (Y1 - X1< 0) Then
While (X1<> Y1)
HIWERT = (WorksheetFunction.VLookup(X1, Daten, 2))
HI = HI + HIWERT
X1 = X1 - 0.1
Wend
Else
HI = (WorksheetFunction.VLookup(X1, Daten, 2))
End If
End Function
Kann mir da jemand helfen?
Viele Grüße und Danke im voraus,
Chris
|