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

Round-Funktion funktioniert nicht

Round-Funktion funktioniert nicht
08.03.2005 10:21:28
WHN
Hallo Leute,
ich habe ein Problem mit der Round-Funktion.
Function Round(Zahl as Single, Nachkommastellen as Long)
Wenn ich schreibe:
Betrag = Round(222.2222,2)
wird die Zahl nicht auf zwei Nachkomma-Stellen gerundet.
Kann mir Jemand sagen woran es liegt?
Viele Grüße
Werner

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Round-Funktion funktioniert nicht
08.03.2005 10:27:03
serge
Hi Werner
bei mir geht es mit =RUNDEN(222.2222;2) (; nicht ,)
Serge
AW: Round-Funktion funktioniert nicht
08.03.2005 10:35:35
WHN
Hallo Serge, Danke für die Hilfe.
Ich habe vergessen zu sagen, daß ich die Round-Funktion im VBA-Code benutze.
So viel ich weiß geht dort Runden nicht.
Gruß´Werner
AW: Round-Funktion funktioniert nicht
08.03.2005 10:42:20
Reinhard
Hi Werner,

Sub tt()
betrag = Round(222.2222, 2)
MsgBox betrag
MsgBox Len(betrag)
End Sub

zeigt 222,22 an und auch die Länge von 6 kommt hin. Was klappt bei dir nicht?
Gruß
Reinhard
AW: Round-Funktion funktioniert nicht
08.03.2005 11:05:20
WHN
Hallo Reinhard,
Danke fur deine Antwort.
Meine Prozedur sieht etwa so aus:

Sub SummeÜbertragen
Dim Betrag as Single
Betrag = Round(Worksheets("XYZ").Cells(Y,X),2)
Worksheets("ABC").Cells(Y,X).Value = Betrag
End Sub

Der Betrag wird ohne Probleme übertragen.
Ich habe die Zellen auf zwei Nachkommastellen formatiert, die Anzeige erfolgt demnach auch mit zwei Nachkommastellen.
Trotzdem zieht die Zahl viele Nachkommastelle hinter sich her.
Da ich hier ca. 500 Beträge errechne und dann eine Summe bilde, bekomme ich hier ständig Rundungsfehler. Das macht oftmals 20 bis 30 Cent aus.
Ich verstehe nicht warum die Funktion Round hier nicht wie angegeben auf 2 Nachkommastellen rundet.
Komischerweise wird auf NULL Nachkommastellen gerundet wenn ich 0 angebe.
Sobald ich aber mehr als 0 (z.B. 1) angebe erhalte ich viele Nachkommastellen.
Gruß Werner
Anzeige
AW: Round-Funktion funktioniert nicht
08.03.2005 11:15:51
Martin
Hallo Werner,
es wird schon gerundet, nur nicht mit ausreichender Genauigkeit, was Du mit Deiner Dim-Anweisung "verschuldet" hast. Versuche
Dim Betrag as Double
Gruß
Martin Beck
AW: Round-Funktion funktioniert nicht
08.03.2005 14:58:23
WHN
Hallo Martin,
ob Single oder Double, das Ergebnis ist das gleiche.
Warum sollte die Funktion Round die Zahl auch anders behandeln wenn SINGLE oder DOUBLE vereinbart wurde, beides sind Nachkomma-Zahlen.
Gruß Werner
AW: Round-Funktion funktioniert nicht
08.03.2005 18:33:50
Martin
Hallo Werner,
das magst Du so sehen, hast Du es auch mal ausprobiert?
Aus der VBA-Hilfe:
Double-Datentyp

Variablen vom Datentyp Double (Gleitkommazahl mit doppelter Genauigkeit) werden als 64-Bit-Gleitkommazahlen (8 Bytes) nach IEEE im Bereich von -1,79769313486231E308 bis -4,94065645841247E-324 für negative Werte und von 4,94065645841247E-324 bis 1,79769313486232E308 für positive Werte gespeichert. Das Typkennzeichen für Double ist das Zeichen (#).
Single-Datentyp

Variablen vom Datentyp Single (Gleitkommazahl mit einfacher Genauigkeit) werden als 32-Bit-Gleitkommazahlen (4 Bytes) nach IEEE im Bereich von -3,402823E38 bis -1,401298E-45 für negative Werte und von 1,401298E-45 bis 3,402823E38 für positive Werte gespeichert. Das Typkennzeichen für Single ist das Ausrufezeichen (!).
Wert in der Tabelle: 123,34567
Ergebnis Deines Makros mit Single-Datentyp: 123,349998474121
Ergebnis Deines Makros mit Double-Datentyp: 123,35
Gruß
Martin Beck
Anzeige
AW: Round-Funktion funktioniert nicht
11.03.2005 10:11:23
WHN
Hallo Martin, Danke für deine Hilfe.
Leider bringe ich auch mit Double den Rattenschwanz an Nachkommastellen nicht weg.
Ich verstehe es auch nicht.
Freundliche Grüße
Werner

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige