如何设置excel格式0.00%到0.0000的十进制值

本文关键字:0000 十进制 格式 何设置 设置 excel | 更新日期: 2023-09-27 18:22:39

我们需要将一些数据导出到excel中,这很好,数据以百分比表示,因此我提供

cell.NumberFormat = "0.00%"

导出值的数据类型为十进制,因此上述格式可以正常工作。

但当值为0.00000000000000000时,问题就会出现excel无法设置格式,因此当我们打开导出的excel文件时,它会显示

Excel已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。修复的记录:来自/xl/worksheets/sheet.xml部件的单元格信息

所有值为0的单元格上都会显示一个标签,上面写着-

此单元格中的数字格式为文本或前面有撇号。

当值类似于0.023443434343时,excel将其格式化为2.34%,格式为小数点后2位的百分比;我不知道为什么它不能提供0值的格式。

如何设置excel格式0.00%到0.0000的十进制值

将其读取为双精度,然后格式化并写回。我没有犯任何错误。

Dim ws As Excel.Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
Dim d As Double
d = ws.Range("C14").Value
ws.Range("C14").NumberFormat = "0.00%"
ws.Range("C14").Value = d

我不清楚你的数据是否已经在工作表中。如果不是,则将数据从源放入double。

d = Val("0.00000000000000000")
ws.Range("C14").NumberFormat = "0.00%"
ws.Range("C14").Value = d