1. Grund
Calculation specifications and limits
Feature Maximum limit
Number precision 15 digits
This is caused by the IEEE specification of storing only 15 significant digits of precision.
2. Grund
However, the implementation of these numbers in Excel is not fully IEEE compliant
Fazit :
Zelle als Text
Mit Zellwert rechnen geht meist nur mit extra ADD-IN innerhalb der erlaubten Grenzen
Option Explicit
Sub TestString()
Dim Zeile As String
Dim T() As String
Dim k As Long
Dim x As Long
Range(Columns(1), Columns(2)).NumberFormat = "@"
Range(Columns(3), Columns(4)).NumberFormat = "General"
Cells.ClearContents
Open "Teststring.txt" For Input As #1
Line Input #1, Zeile
Close #1
On Error Resume Next
T = Split(Zeile, "/")
For k = 0 To UBound(T)
If k = 14 Then
Cells(1, 1).Formula = T(k)
For x = 1 To Len(T(k))
Cells(x, 2).Formula = Left(T(k), x)
Cells(x, 3).Value = CDbl(Left(T(k), x))
Cells(x, 4).FormulaR1C1 = "=IF(VALUE(RC[-2])=RC[-1],TRUE,FALSE)"
Next x
End If
Next k
End Sub
'abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/10900000000000000123
'oder
'abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/10900000000000123456
'jetzt steigt die Erkennung, nur die Rundung hapert
'aber
'abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/abc/12345678901234567890
'nun ist Excel selbst der Zahlenwert zu groß
|