Hallo SJ,
Vielen Dank für deine Antwort.
Leider reichen da meine VBA Programmierkenntnisse nicht ganz aus um das nach zu vollziehen. :(
Jedoch habe ich bemerkt, dass mein Code funktioniert, solange es sich um die erste If-Anweisung handelt. Sobald der zweite Fall eintritt, kommt der Fehler "#Wert!".
Wie kann das sein??
Hier nochmal der aktuelle Code:
(mit neuen Variablennamen)
Public Function Hion(DiaINa As Double, DiaOUTa As Double, Daten As Variant) As Double
Dim HionWERT As Double
Dim DiaINR As Double
Dim DiaOUTR As Double
DiaINR = WorksheetFunction.Round(DiaINa, 1)
DiaOUTR = WorksheetFunction.Round(DiaOUTa, 1)
If ((DiaOUTR - DiaINR) > 0) Then
While DiaINR <> DiaOUTR
HionWERT = WorksheetFunction.VLookup(DiaINR, Daten, 2, False)
Hion = Hion + HionWERT
DiaINR = DiaINR + 0.1
Wend
ElseIf ((DiaOUTR - DiaINR) < 0) Then
While DiaINR <> DiaOUTR
HionWERT = WorksheetFunction.VLookup(DiaINR, Daten, 2, False)
Hion = Hion + HionWERT
DiaINR = DiaINR - 0.1
Wend
Else
Hion = WorksheetFunction.VLookup(DiaINR, Daten, 2)
End If
End Function
|