Anzeige
Archiv - Navigation
140to144
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
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Warum Überlauf-Fehler?

Warum Überlauf-Fehler?
01.08.2002 15:39:58
Christoph
Hallo!

Warum kommt es bei der Ausführung dieses Programms zu einem Überlauf?

Sub test()
Dim i As Byte
Dim j As Byte
Dim z As Long
i = 10
j = 30
z = i * j
End Sub

Auch wenn ich z als Double oder gar nicht definiere, kommt es zu einem Überlauf. Warum? i und j sind zwar beschränkt auf [0,255], aber z doch nicht?

Danke!

Christoph

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

Betreff
Datum
Anwender
Anzeige
Re: Warum Überlauf-Fehler?
01.08.2002 16:24:04
Ralf Sögel
Da sollte ein Blick in die VBA- Hilfe weiterhelfen.
Re: Warum Überlauf-Fehler?
01.08.2002 16:34:07
Christoph
Ja, der Hilfe nach hat das Ergebnis den Datentyp des Ausdrucks mit der größten Genauigkeit. Hier gehen nur Byte-Variablen ein, also sollte Byte rauskommen.
Aber es muß doch auch möglich sein, das Ergebnis einer Multiplikation von Byte-Variablen einer Long-Variablen zuzuweisen!?
Re: Warum Überlauf-Fehler?
01.08.2002 17:55:29
Charlie
Hallo, Christoph!

Excel rechnet selbst mit Byte-Variablen nicht mit Ganzzahlen! Das Ergebnis der Multiplikatin zweier Variablen vom Typ "Byte" muss noch lange keine ganze Zahl sein. Die Ergebnisvariable vom Typ "Long" akzeptiert allerdings nur ganze Zahlen.

z = CLng(i) * j
führt zum richtigen Ergebnis

Die Hilfe sagt zum Laufzeitfehler '6' u.a. aus:
Sie versuchen, eine Zahl in einer Berechnung zu verwenden, die in eine Ganzzahl gezwungen wird, aber das Ergebnis ist größer als eine Ganzzahl. Beispiel:
Dim x As Long
x = 2000 * 365 ' Fehler: Überlauf
Um diese Situation zu umgehen, geben Sie die Zahl folgendermaßen an:
Dim x As Long
x = CLng(2000) * 365

In der EDV ist nicht alles logisch, was eigentlich logisch ist. ;))

Gruß,
Charlie

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige