繁体   English   中英

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

[英]How do I set excel format 0.00% to 0.0000 decimal value

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

cell.NumberFormat = "0.00%"

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

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

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

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

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

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

将其读入双精度,然后格式化并写回。 那样我不会有任何错误。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM