Schleife mit 1000 Schritten -> ungenaue Werte
05.02.2015 14:32:17
Fred
folgende Schleife mit einer Schrittweite von 0.001 nutze ich in einer anderen Prozedur.
Bei der 688. Schleife liefert Excel dann nicht 0.688 sondern 0,688000000000001. Im Ergebnis führt das dazu, dass die 1000. Schleife nicht mehr ausgeführt wird, weil das Schleifen-Ende nicht 1 ist, sondern 1,000000000000001 ist.
Wie kann ich das Problem lösen, wenn ich die Schrittweite als "0.0irgendwas" eingeben will?
Dim Increment_NOK As Double
Sub SchleifeFehlerhafteRundung()
Increment_NOK = 0.001
Zeile = 2
For DeltaZ = 0 To 1 Step Increment_NOK
Worksheets("Tabelle1").Cells(Zeile, 1).Value = DeltaZ
Zeile = Zeile + 1
Next DeltaZ
End Sub
Danke für sachdienliche Hinweise,
Fred
PS. Lösen kann ich das Problem, in dem ich die Schleife mit ganzen Zahlen laufen lasse, aber dann muss ich (und das will ich vermeiden) an mehreren Stellen umrechnen in meiner Prozedur:
Sub SchleifeKorrekteRundung()
Increment_Z = 1
Zeile = 2
For DeltaZ = 0 To 1000 Step Increment_Z
Worksheets("Tabelle1").Cells(Zeile, 2).Value = DeltaZ / 1000
Zeile = Zeile + 1
Next DeltaZ
End Sub
Die Beispieldatei findet sich unterhttps://www.herber.de/bbs/user/95580.xlsm