显示值与分割函数后的数据值不匹配

我正在写一个macros从我的Excel工作表中分析单元格中的string,并应返回该string中的三个坐标。 我可以得到脚本parsingstring罚款,并创build一个“coordinateHolder”数组来保存三个坐标。 我的问题是,当我更新单元格显示坐标excel显示不显示整个坐标。

例如,如果坐标string原本是“1234.1324123,12345.23521,2384.1234253”,我的代码将更新我的x,y和z坐标单元格为“1234.132”,“12345”,“2384.1234”

我的意思是:

在这里输入图像说明

(这个在单元格中显示科学记数法,在公式生成器栏中显示缩短的双倍数)

我的代码:

Dim i, j As Integer Dim coordinates As String Dim coordHolder As Variant i = 2 j = 1 Range("I2:K2").Value = Range("E2:G2").Value Do While Cells(i, j) <> "" coordinates = Cells(i, j) coordinates = Replace(coordinates, ",", "") coordHolder = Split(coordinates, " ") For a = 0 To UBound(coordHolder) Cells(i, 7 + a) = coordHolder(a) Next a i = i + 1 Loop 

Excel的数字限制为15位数字。 任何具有更多数字的数字都会在较低的数值上失去精度,从而启用数字显示。 您的数据具有超出限制的值,将被截断。

513402938412.123只显示15位数字。 剩余的小数位已被删除。 与数值的大小相比,4位或更多位小数的含义是不正确的,因此Excel将第三位数字后的数字视为可有可无。

如果要保留该值中的所有数字,则需要将其转换为文本,并确保其保留文本并且不会再次转换为数字。 要做到这一点,你可以在任何数字前加撇号。

如果单元格包含值5134029388412.12341234它将被截断。 包含值'5134029388412.12341234单元格将被视为文本并保持不变。