如何在 Excel VBA 中应用自定义格式,例如 "Text:" 0.0%



我想Excel VBA写一个数字或百分比,取决于用户控制。

在Excel中,我可以按Ctrl 1应用自定义格式,如"Text:"0.0%或"Text:"0.0。

我已经设法编写文本,然后使用Format()或Round(),这取决于控制值。但是,Format有两个小数点,我想要一个小数点。

下面是一些说明性代码。如上所述,我希望能够控制百分比的小数位数(例如0,1,2)。

Select Case sControl
Case "Percentage"
  oRange = "Text: " & Format(dvalue + 0.000001, "Percent")
Case "Numeric"
  oRange = "Text: " & Round(dvalue + 0.000001, 1)
End Select

任何关于如何做到这一点的指示将是伟大的。在这两种情况下,我都在dvalue上添加0.000001,因为我理解这有助于保持传统的舍入精度。

干杯蒂姆。

我想这就是你要找的:

FormatPercent(1 + 0.000001, 1)

格式化为百分比,第二个参数(本例中为1)是您想要的小数点数。

这就是我找到它的地方。

如何做到这一点是通过改变给定的RangeRange.Style和/或Range.NumberFormat属性。

示例:Selection.NumberFormat = "0.00000%"

一般来说,如何在Excel-VBA中了解这一点,只需记录一个宏,在那里你做了你想在宏中发生的事情。停止录制,转到VBA窗口,查看Module1, Module2,…中的新宏。模块。

您实际上不需要将数字四舍五入以获得您想要的格式,就像您在工作表中手动应用数字格式时不需要那样。

相关内容

最新更新