Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kalkulationsfehler

Kalkulationsfehler
14.05.2009 13:32:01
René
Hallo zusammen
Habe ein merkwürdiges Problem
Ich zähle zwei Werte zusammen
Zahl1 mit Kommastelle
Zehl2 ohne Kommastelle
Das Resultat ist ein gerundeter Wert auf 1 Kommastelle
Schaut euch bitte den Code unten an
Bin dankbar für jeden erdenglichen Hinweis.
Gruss und Danke René
strNetto = Application.ActiveDocument.CustomDocumentProperties("NETWR").Value
strZwRes = strNetto
KommaPunktRaus2 ' setze den Wert ins korrekte Zahlenformat
sngNetto = CSng(strZwRes)
sngNettoSum = sngNettoSum + sngNetto
' -------------------------------------------------------------------
strMWST = Application.ActiveDocument.CustomDocumentProperties("MWPR").Value
strZwRes = strMWST
KommaPunktRaus2 ' setze den Wert ins korrekte Zahlenformat
sngMWST = CSng(strZwRes)
sngMWSTSum = sngMWSTSum + sngMWST
strZwRes = CStr(sngTotal)
KommaPunktRaus2 ' setze den Wert ins korrekte Zahlenformat
sngTotal = CSng(strZwRes)
strZwRes = CStr(sngNettoSum)
KommaPunktRaus2 ' setze den Wert ins korrekte Zahlenformat
sngNettoSum = CSng(strZwRes)
If Val(strMWSTSatz) 0 Then
sngTotal = sngMWSTSum + sngNettoSum ----- hier ist der Fehler
Else
sngTotal = sngNettoSum
End If
Fehler
sngMWSTSum = 7979.85
sngNettoSum = 104998
sngTotal = 112977.9
Der Wert sollte sein -- sngTotal = 112977.85

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
KEIN Kalkulationsfehler - Rechengenauigkeit!
15.05.2009 17:14:16
Erich
Hi René,
ein wesentliches Detail hast du nicht gepostet:: die Deklarationen der Variablen.
Es ist aber wohl zu vermuten, dass du hier mit Single-Variablen arbeitest.
In dieser Mappe kannst du dir ansehen, was bei Single, Double und Currency passiert, wenn man damit rechnet:
https://www.herber.de/bbs/user/61862.xls
Bei Single steht bereits in Zeile 2 der Ausgangswert 7,77 nur noch ungefähr da - als 7,76999998092651
Single steht eben für "einfache Genauigkeit".
Besser dürfte Double für deine Zwecke geeignet sein, vielleicht auch Currency.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige