Vba: trotz '0.00' wird letzte Null nicht angezeigt

Hallo Excelperten,

ich habe ein sehr dringendes Problem:

Ich habe folgenden Code (gekürzt)

Dim Anzahl As Byte
Dim Ergebnis As Single
Anzahl = 17
Ergebnis = Format(Anzahl \* 23.5, "0.00")

Wenn ich mir „Ergebnis“ anzeigen lasse kommt „399,5“ dabei raus, es müsste aber „399,50“ sein. Es verhält sich genauso als hätte ich

Ergebnis = Format(Anzahl \* 23.5, "0.##")

geschrieben.
Wo liegt der Fehler? Muss ich irgendwelche Einstellungen in Excel oder Windows ändern?

Ich habe WinXP und Office 2007

Vielen Dank

Dim Anzahl As Byte
Dim Ergebnis As Single
Anzahl = 17
Ergebnis = Format(Anzahl * 23.5, „0.00“)
Wenn ich mir „Ergebnis“ anzeigen lasse kommt „399,5“ dabei
raus, es müsste aber „399,50“ sein. Es verhält sich genauso
als hätte ich

Hallo Roland,

ist bei XL2000 genauso.
Excel mischt sich da irgendwie ein.
Isnumeric() liefert ein anderes Ergebnis als ISTZAHL()!

Und, das Endergebnis in den Zellen in den zwei Codes ist Text.
Mal 1 genommen fehlt wieder die 0 :smile:
Da müßte man NumberFormat benutzen.

Sub tt()
Dim Anzahl As Byte
Dim Ergebnis As Single
Anzahl = 17
Ergebnis = Anzahl * 23.5
MsgBox IsNumeric(Format(Ergebnis, „0.00“))
MsgBox Format(Ergebnis, „0.00“)
Range(„D1“).Value = Format(Ergebnis, „0.00“)
MsgBox IsNumeric(Range(„D1“).Value)
Range(„E1“).FormulaLocal = „=ISTZAHL(D1)“
End Sub

Sub tt2()
Dim Anzahl 'As Byte
Dim Ergebnis
Anzahl = 17
Ergebnis = Format(Anzahl * 23.5, „0.00“)
MsgBox Ergebnis
Range(„F1“) = Ergebnis
Range(„G1“).FormulaLocal = „=ISTZAHL(F1)“
End Sub

Gruß
Reinhard

Hallo Reinhard,

ich habe folgende Lösung gefunden:

Dim Anzahl As Byte
Dim Berechnung As Single
Dim Ergebnis As String

Anzahl = 17
Berechnung = Anzahl \* 23.5
Ergebnis = Format(Berechnung, "0.00")

Danke und viele Grüße
Roland