Anzeige
Archiv - Navigation
1236to1240
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

Rundungsprobleme

Rundungsprobleme
Thomas
Hallo Excel-Experten,
da mein Versuch gescheitert ist, im Archiv eine Antwort auf mein Problem zu bekommen, muss ich doch hier Rat suchen: In einem größeren VBA-Projekt (es werden Geldleistungen berechnet) muss ich an verschiedensten Stellen auf 2 Stellen runden und mit den gerundeten Beträgen ziemlich komplex weiterrechnen und gegebenenfalls auch wieder auf 2 Stellen runden.
Bisher glaubte ich, dass Excel rechnet wie ich es gelernt habe. Ich würde z.B. 1,115 immer auf 1,12 runden. Ich glaube, das heisst kaufmännisches Runden. Das scheint aber Excel mit dem Round-Befehl nicht immer (oder nie?) so zu machen. In einem VBA-Excel-Buch habe ich auch andeutungsweise von solchen Problemen gelesen. Im konkreten Fall habe ich mir überlegt, dass ich erst auf 3 Stellen runde und dann prüfe, ob als letzte Stelle eine 5 steht. Falls das so ist addiere ich 0,001 dazu und runde erst dann auf 2 Stellen. Funktioniert tadellos - scheint mir aber irgendwie irre zu sein. Ich müsste mir also für das Runden eine entsprechende Funktion schreiben und diese statt dem Round einsetzen. Gibt es da generelle Erkenntnisse oder bessere Ideen? Oder bin ich bloß "betriebsblind"?
Vielen Dank schon mal.
Thomas G

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Rundungsprobleme
19.11.2011 08:10:53
Gerd
Hallo Thomas,
nimm Application.Round oder Worksheetfunction.Round .
Ggf. hast Du ergänzend die Möglichkeit, den zu rundenen Wert mit CCur oder CDec abzukürzen, um Double-Fehler zu vermeiden.
Gruß Gerd
...Denn VBA.Round rundet symmetrisch, ...
20.11.2011 16:01:27
Luc:-?
…Thomas,
WorksheetFunction.Round asymmetrisch (kaufmännisch). Du hast sicher nicht das richtige Suchwort benutzt oder an der falschen Stelle gesucht, denn Erichs Verweis ist nicht die einzige Stelle, an der im Archiv dazu etwas steht. Außerdem solltest du die Erläuterungen bei deiner endgültigen Wahl beachten, denn bei komplexen Berechnungen für viele Daten könnte sich VBA.Round als die bessere Wahl erweisen, abgesehen davon, dass es da noch mehr Methoden gibt, die einen gewissen statistischen Ausgleich bewirken (udFkt RoundA - auch im Archiv).
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige