我有一个文件,在 Excel 之外生成,有很多百分比。所有这些百分比都有一个小数位。当导入到 Excel 中时,Excel 会为百分比添加第二个小数位 - 这似乎是 Excel 中百分比的一些默认格式。它只是添加了一个“0”。
我想将所有双小数位百分比格式化为一个小数点。如果我手动执行此操作,通过使用 CTRL+H,查找格式/替换格式,它会顺利进行。但是我不能通过 VBA/宏来做到这一点,即使我在手动替换时记录了宏。录制宏生成的代码是这样的:
Application.FindFormat.NumberFormat = "0.00%"
Application.ReplaceFormat.NumberFormat = "0.0%"
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
Run Code Online (Sandbox Code Playgroud)
失败发生在:
Application.ReplaceFormat.NumberFormat = "0.0%"
Run Code Online (Sandbox Code Playgroud)
经过大量的反复试验,我发现新格式需要在自定义格式列表中。但默认情况下不存在单小数位百分比。如果我手动将单个单元格格式化为所需的格式,宏就可以工作。当然,我不想对每个文件都这样做。
任何输入将不胜感激。
提前致谢!
小智 6
如果您将自定义数字格式应用于单个单元格,它将成为“已列出”,随后可通过批量替换操作供将来使用。我可能会建议使用类似的东西,
.range("A1").NumberFormat = "0.0%;@"
Run Code Online (Sandbox Code Playgroud)
该特定格式掩码可以应用于任何带有百分比或文本的单元格。如果您有一个带有文本值的列标题标签并应用了该 CNF,则该;@
部分会强制文本按字面显示(不做任何更改)。通过这种方式,您可以在放置第一个 CNF 的地方获得更多可能性。使用一次后,它将可用于对剩余百分比值进行批量替换操作。
归档时间: |
|
查看次数: |
26632 次 |
最近记录: |