我希望Excel VBA根据用户控件写一个数字或一个百分比。

在Excel中,我可以按Ctrl 1来应用自定义格式,例如“文本:” 0.0%或“文本:” 0.0。

我设法写了文本,然后根据控件值使用Format()或Round()。但是,格式有两个小数位,我想一个小数位。

这是一些说明性代码。如上所述,我想控制百分比的小数位数(例如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)是所需的小数位数。

This is where I found it.

This is a very good resource for the Format function too.

关于string - 如何在Excel VBA中应用自定义格式,例如“文本:” 0.0%,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16302795/

10-13 04:39