none
Datentyp "Decimal" in VBA im Office 365 Home Premium RRS feed

  • Frage

  • Ich habe neu das Office 365 Home Premium erworben und installiert. Was ich hier vermisse, ist die Verwendung des Datentyps Decimal im VBA von Excel. Als Mathematiker habe ich etliche Anwendungen bei denen ich auf diese erweiterte Genauigkeit angewiesen bin. Muss ich nun ein andere Version von Excel verwenden oder gibt es eine entsprechende Erweiterung im VBA die ich erwerben kann?
    Mittwoch, 8. Januar 2014 20:10

Alle Antworten

  • Hallo,

    VBA unterstützt decimal als Teil Variant-Datentyps, siehe auch The Scaled Integer Data Types. Excel selbst präferiert den double Datentyp, siehe u. a. Numeric precision in Microsoft Excel.

    VBA ist unabhängig von Excel und wird in allen Office-Anwendungen verwendet (und kann in anderen Anwendungen lizensiert werden). Der Leistungsumfang ist der gleiche. Und nicht auf mathematische Aufgaben optimiert.

    Für komplexere Berechnungen kann es günstiger sein z. B. das .NET Framework (in Verbindung mit C# oder Visual Basic .NET) einzusetzen. Dort gibt es zum einen nativen Decimal-Datentyp und weitere wie BigInteger - und Erweiterungen durch Dritte.

    Speziell für Excel gibt es zudem XLL-SDK, siehe Programming with the C API in Excel 2013

    Gruß Elmar

    Donnerstag, 9. Januar 2014 08:23
  • In VBA muss der Datentyp Variant sein und mind. ein Element in der Zuweisung muss ein Decimal-Typ, bzw. mit CDec in diesen umgewandelt werden.

    Andreas.

    Sub Test()
      Dim MyDouble As Double
      Dim MyDecimal As Variant
     
      MyDouble = 3 / 7
      MyDecimal = 3 / CDec(7)
     
      Debug.Print MyDouble
      Debug.Print MyDecimal
    End Sub

    Freitag, 10. Januar 2014 08:16