Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kalkulationsfehler

Forumthread: 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
Anzeige

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
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige