Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

XL 2007 rechnet falsch !? (Multiplikation)

XL 2007 rechnet falsch !? (Multiplikation)
25.09.2007 18:41:00
Reinhard
Hallo Wissende,
ich habe kein XL2007 und kann es nicht nachvollziehen bzw. austesten.
In einem anderen Forum stieß ich auf nachfolgende Beitragsfolge.
(Da dort auch ein öffentlich zugängliches Forum ist, habe ich die Namen nicht anonymisiert)
Es wird behauptet, daß bei
=850*77,1
was bei XL2000 und evtl. auch bei Adam Riese 65.535 ergibt, bei XL2007 100.000 herauskäme.
Es soll mit dem Übergang 16Bit zu 32 Bitzahlen zu tun haben.
Kann das mal jmd hier ausprobieren mit seinem XL2007 und wie kann man das verhindern in Excel? In Vba, wenn es da auftreten sollte kann man sicher mit Zwangsumwandlungen ala CInt, CLng gegensteuern.
Ist für XL2007 schon ein SP im MS-Gespräch?
Danke ^ Gruß
Reinhard
Der hier gepostete Artikelbaum wurde auf Verlangen der epublica GmbH aus Gründen einer vermeintlichen Urheberrechtsverletzung gelöscht.
Hans W. Herber

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
He he...
25.09.2007 18:49:00
{Boris}
Hi Reinhard,
...da ich gerade an einem Rechner mit 2007 sitze, kann ich diesen Rechenbug in der Tat bestätigen!
=850*77,2 ergibt dann wieder 65.620...
Wasser auf meine Mühlen, dass xl2007 der größte Humbuk aller Zeiten ist...
*kopfschüttel*
Grüße Boris

AW: He he...
26.09.2007 14:35:00
Renee
Hi {Boris}
Ich hab kein EXCEL 2007 aber mich wurmt da was,
Wenn Du in A1 diese Rechnung mit der falschen Anzeige von 100000 hast, was wird im Direktfenster des VBE ausgegeben, wenn Du ?Activecell.value eingibst ?
Falls Du Zeit zum Testen hast!
GreetZ Renee

Würd ich Dir gerne beantworten...
26.09.2007 16:30:00
{Boris}
Hi Renee,
...aber inzwischen sitze ich (glücklicher Weise) wieder an meinem Rechner mit einer vernünftigen Excelversion (2003) und xl2007 ist außer Reichweite.
Grüße Boris

Anzeige
Schade, trotzdem danke owT.
26.09.2007 16:36:16
Renee

Soso, 2003 ist vernünftig...
26.09.2007 17:00:00
Reinhard
Hallo Boris,
lass das doch mal laufen, bzw. schätze vorher ab was im worst case passieren könnte :-)
(stammt aus Buch von Michael Schwimmer)

Sub SiehtDochAllesPallettiAus()
Dim lngLong    As Long
Dim intInteger As Integer
Dim bytByte    As Byte
bytByte = 128
intInteger = 32767
lngLong = 32767 + 2 - 32740
lngLong = intInteger + 2 - 32740
lngLong = bytByte + bytByte - 20
End Sub


Frage auch noch offen wegen Rennees Nachfrage.
Gruß
Reinhard

AW: Soso, 2003 ist vernünftig...
26.09.2007 18:29:04
Renee
Hi Reinhard,
Das was Du in Deinem Code zeigst, ist aber bekannt und hat nur mit der Tatsache zu tun, wann der Compiler ein Zwischenergebnis in was für einem Variablentyp abspeichert. Das ist IMHO kein Bug, sondern schlicht eine Unzulänglichkeit. So würde Dein Code ohne Probleme laufen:

Sub IstDochAllesPallettiAus()
Dim lngLong    As Long
Dim intInteger As Integer
Dim bytByte    As Byte
bytByte = 128
intInteger = 32767
lngLong = 32767# + 2# - 32740#
lngLong = intInteger + 2# - 32740#
lngLong = 0# + bytByte + bytByte - 20#
End Sub 


Worauf ich mit meiner Anfrage hinaus wollte, ist die Tatsache, das in den EXCEL Internas es Funktionen geben muss, die einen Formatierungszyklus durchlaufen, und das der Bug ev damit zu tun hat und nicht mit dem eigentlichen Rechnen. Wenn ich z.B. 10.999999999999 eingebe wird mir ja automatisch 11 angezeigt, obwohl die Zelle 10.999999999999 enthält. D.h. mein Vorschlag müsste dann eigentlich per VBA die richtige Zahl und nicht 100'000 anzeigen. Aber wie gesagt, dazu bräuchte ich eine 2007 Version.
GreetZ Renee

Anzeige
AW: Soso, 2003 ist vernünftig...
26.09.2007 21:12:00
Reinhard
Hallo Renee,
http://germany.trymicrosoftoffice.com/default.aspx
60 Tage Office 2007 mit allen Features.
Bei diesen Trialversionen wird ja irgendwo das Installationsdatum vermerkt.
Völlig zusammenhanglos *hüstel* fällt mit grad ein, es gibt ja die Freeware Programme regmon.exe und regfile.exe, die jedwede Änderungen in der Registry und alle sonstigen Schreib/Lese Abläufe protokollieren.
Allerdings, da sie alles "mitschreiben" sind die Protokolle ellenlang und wenn da was evtl. auch noch verschlüsselt geschrieben wird :-(
Gruß
Reinhard

Anzeige
2000/2000 ist nicht genügend...
26.09.2007 21:23:00
Renee
Hi Reinhard,
Mit W2K und Office 2K sind meine System-Requirements leider auch für eine Testversion nicht erfüllt.
Aber es wird doch sicher Forumsmitglieder geben die auf Office 2007 Zugriff haben. Sonst ist auch egal..
War ja nur so eine Idee.
GreetZ Renee

?activeCell.value in 2007 - Direktfenster
27.09.2007 11:31:03
Beate
Hallo Renee,
im Direktfenster wird in Excel2007 das korrekte Ergebnis für 850*77,1 ausgegeben: 65535
---------------------------------------
Übrigens findet sich jetzt auch eine Info zum Bug bei Web.de:
http://magazine.web.de/de/themen/digitale-welt/computer/software/4694744-Excel-2007-mit-Rechenschwaeche,cc=0000071597000469474419Dugw.html
Und sie haben dort ein Quiz eingestellt: "Softwarefehler und ihre fatalen Folgen"
http://magazine.web.de/de/themen/digitale-welt/quiz/3543192.html
Gruß,
Beate

Anzeige
AW: ?activeCell.value in 2007 - Direktfenster
27.09.2007 11:36:00
Renee
Hallo Beate,
im Direktfenster wird in Excel2007 das korrekte Ergebnis für 850*77,1 ausgegeben: 65535
Danke für das Testen. Aber doch noch zur Versicherung:
Die Ausgabe im Direktfenster ist ein Bezug auf die Zelle in der der falsche Wert angezeigt wird?
Also nicht:
?850*77.1
sondern in Zelle A1 steht =850*77.1 und angezeigt wird 100000 und
?Cells(1,1).Value ergibt 65535
Dann ist nämlich meine Vermutung bestätigt, dass es nicht ein Rechenfehler, sondern ein Darstellungsfehler ist und das ist IMHO ein entscheidender Unterschied.
Nochmals Danke.
GreetZ Renee

Anzeige
Rückbestätigung
27.09.2007 11:59:55
Beate
Hallo Renee,
der Wert stand in der aktiven Zelle und im Direktfenster habe ich eingegeben: ?activeCell.value
Gruß,
Beate

81 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige