Excel 2011 VBA Umgebung Codes, die nicht lauen?

M

mepe

Registriert
Thread Starter
Dabei seit
01.02.2012
Beiträge
4
Reaktionspunkte
0
Excel 2011 VBA Umgebung Codes, die nicht laufen?

Hallo Zusammen,

ich lerne VBA auf einem Windows System mit Excel 2010 und 2003. Hier verwende ich Excel 2011 auf dem Macbook und dem iMac.
Folgende Function bekomme ich auf dem Mac nicht zum laufen bzw. ich bekomme immer den gleichen aber falschen Wert zurück.


Function nettobetrag( _
Bruttobetrag As Currency) _
As Currency

Dim cMwSt As Double
cMwSt = 0.19

netto = Round(Bruttobetrag / (1 + cMwSt), 2) 'Round rundet mathematisch
End Function

Der Code ist ja so sehr einfach und soll nur von einer Zahl den Nettobetrag ermitteln. Als Ergebnis erhalte ich immer 18140114401610,5.
Auf den Windows Systemen läuft der Code einwandfrei.

Ich verstehe das nicht. Klappt da beim O2011 was nicht?

Danke für die Antworten die kommen. (hoffe ich)

Meinhard
 
Ohne jetzt VBA als besonders reizvoll einzustufen: kann es vielleicht schon am Dezimalzeichen (Punkt/Komma) liegen?
 
Ne, da liegt es nicht dran, dass ist so richtig. Auf Windows Excel läuft es ja auch ...
 
Nabend,

würde mal für den Rückgabewert den Funktionsnamen einsetzen (statt "netto" hier "nettobetrag"). Sonns weiß die arme Formel ja nicht, was sie zurückgeben soll...

EDIT: AAARGH, da bin ich einmal in 1000 Jahren wieder da und dann nen Fehler, oben korrigiert!
 
Zuletzt bearbeitet:
Auch ein Argument. Wenn es daran liegt, dann läuft das aber zu 50000% auch nicht unter Windows. :)
 
Ich hab' dann mal meinen Trainer gefragt und der hat etwas getestet. Siehe da: wird das Format von Currency auf Objekt geändert, klappt es wieder. Mal sehe was Microsoft dazu sagt, denn dass ist ein Fehler.
 
Auszug aus der VB-Hilfe:
Currency variables are stored as 64-bit (8-byte) numbers in an integer format, scaled by 10,000 to give a fixed-point number with 15 digits to the left of the decimal point and 4 digits to the right.
Ersetz mal Currency durch Double, dann klappt's.
 
Das geht auch. Trotzdem bin ich nicht mit dem VBA in O 2011 zufrieden. Es sind schon einige Befehle, die in Office 2011 nicht klappen.
Schade, dass die Übersetzung auf OSx nicht vollständig ist.
 
Spätestens, wenn Du beginnst, Deine UserForms mit zusätzlichen Steuerelementen zu bestücken, oder irgendwelche DLLs referenzierst, ist es ohnehin eine Windows-only-Sache.
 
Zurück
Oben Unten