So. Habe das Problem gefunden.
Das doch recht bekannte "Rundungsproblem" von Excel war schuld. Nachdem ich mit einem gerundeten Wert gerechnet habe, hat er mir natürlich irgendwo lustige sachen wie 7,4100000001 generiert. Somit erreicht meine Schleife ihre Bedingung zum abbruch nicht.
Gelöst habe ich das einfach in dem ich während ich mit dem gerundeten Wert rechne, nochmal runde:
...
...
If ((DiaOUTR - DiaINR) < 0) Then
While DiaOUTR <> DiaINR
HionWERT = WorksheetFunction.VLookup(DiaINR, Daten, 2, False)
Hion = Hion + HionWERT
DiaINR = WorksheetFunction.Round((DiaINR - 0.1), 2)
Wend
ElseIf ((DiaOUTR - DiaINR) > 0) Then
While DiaINR <> DiaOUTR
HionWERT = WorksheetFunction.VLookup(DiaINR, Daten, 2, False)
Hion = Hion + HionWERT
DiaINR = WorksheetFunction.Round((DiaINR + 0.1), 2)
Wend
....
...
...
Danke trotzdem für die Hilfe :)
Viele Grüße und frohes Programmieren,
Chris
|