使用 VBA 设置带有千位分隔符、2 位小数和负数负号的标准数字格式?

Set standard number format with thousand separator, 2 decimals and minus sign for negative numbers using VBA?

我之前在 Whosebug 上看到过一个问题,如何获得带有千位分隔符和 2 位小数的正常数字格式。答案是设置:

    rng.NumberFormat = "##0.00"

但这是不完整的,因为至少在我的计算机上,我没有得到任何 space 数百万和数千之间的分隔符。所以我将其更改为:

    rng.NumberFormat = "### ### ##0.00"

但这又是不完整的,因为出于某种原因,负数的格式看起来像是在减号和数字之间有一个 space。见下文:

- 12.4

因此,要达到 Excels "built-in" "format as number" 格式,还有一些事情要做。此外,我通过 VBA 应用的格式被 Excel 描述为自定义格式。

有什么方法可以将格式设置为标准内置格式,如带有千位分隔符、2 位小数和负数负号的数字?

我正在寻找类似的东西:

    rng.NumberFormat = "Number, 2, minus"
rng.NumberFormat = "# ##0.00:-# ##0.00"

您将正数的格式放在 : 之前,将负数的格式放在 : 之后。您不需要在格式中放置数百个# 符号,只需足以显示 1000 的分隔符即可。