2017-09-06 648 views
0

我想将一个非常小的值转换为百分比,但我得到了一个奇怪的数字。例如小数值-8.45129E-05。VBA - 将一个非常小的值转换为百分比

当前,我正在使用以下代码进行转换。

Cells(i, 6) = FormatPercent(Cells(i, 6), 8, , vbTrue) 

我得到了-845.13%,因此如果小值-8.45129E-05,但正确的结果应该是-0.00845129%。我猜这个问题是由E-05造成的。任何建议来解决这个问题?

新的excel文件示例。

线10列6应-0.0084513%(122.21/122.76-1) - (1291/1296.7-1)(柱d到F由Sub和列H至J计算是由手工计算)

enter image description here

+0

您使用的是什么版本的Excel/VBA? –

+0

Excel 2011 mac版本 –

+0

请添加您的代码的其他声明。看来你的问题与他们有关。 –

回答

0

我通过改变解决这个

Cells(i, 6) = FormatPercent(Cells(i, 6), 8, , vbTrue) 

Cells(i, 6) = FormatPercent(Cells(i, 6) * 10000, 8, , vbTrue) 
Cells(i, 6) = Cells(i, 6)/10000 

我知道这不是最正确的答案。如果你有更好的,我会投你的票。