Thema Datum  Von Nutzer Rating
Antwort
Rot Flasche Nachkommawerte in ForToNext-Schleife
14.09.2016 23:23:05 Mre
NotSolved
15.09.2016 11:29:48 Gast37383
NotSolved
17.09.2016 12:02:13 Mre
NotSolved
17.09.2016 12:04:29 Gast91461
NotSolved

Ansicht des Beitrags:
Von:
Mre
Datum:
14.09.2016 23:23:05
Views:
1256
Rating: Antwort:
  Ja
Thema:
Flasche Nachkommawerte in ForToNext-Schleife

Hallo liebe vba-Experten,

ich habe folgenden Code als Makro eingegeben:

Sub test()
'
' test Makro
'
Dim a As Integer
Dim i As Double
a = 1

For i = -1 To 3 Step 0.001
Cells(a, 1).Value = i
a = a + 1
Next i

'
End Sub

Bei der Ausführung wird irgendwann der Schritt (hier 0.001) verändert und es wird an die eigentlichen i-Werte eine ganze Reihe von Kommastellen angehangen, also bei mir zB in Schritt 563 zu 564 (im Excel-Tabellenblatt):

Schritt i-Wert Bemerkungen
559 -0,442000000000000000000000000000  
560 -0,441000000000000000000000000000  
561 -0,440000000000000000000000000000 ...
562 -0,439000000000000000000000000000 exakt +0,001
563 -0,438000000000000000000000000000 exakt +0,001
564 -0,436999999999999000000000000000 nicht exakt +0,001
565 -0,435999999999999000000000000000  
566 -0,434999999999999000000000000000  
567 -0,433999999999999000000000000000  

Beim Debuggen ist der i-Wert nicht nur im Excel-Tabellenblatt, sondern auch schon als Wert im vba-Code falsch.

Meine Fragen:

  • Warum ist das so?
  • Und was muss ich tun, um einerseits möglichst kleine Schritte für i festlegen zu können (mindestens 4 Nachkommastellen) und andererseits auch die Schritte exakt konstant zu halten?

Ich bin gespannt auf eine Lösung und sage schonmal vielen Dank im Voraus!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Flasche Nachkommawerte in ForToNext-Schleife
14.09.2016 23:23:05 Mre
NotSolved
15.09.2016 11:29:48 Gast37383
NotSolved
17.09.2016 12:02:13 Mre
NotSolved
17.09.2016 12:04:29 Gast91461
NotSolved