使用VBA为负数设置带千位分隔符、2位小数和减号的标准数字格式?
我已经看过stackoverflow之前提出的问题,如何获得带有千位分隔符和2位小数的正常数字格式。答案是:使用VBA为负数设置带千位分隔符、2位小数和减号的标准数字格式?,vba,excel,Vba,Excel,我已经看过stackoverflow之前提出的问题,如何获得带有千位分隔符和2位小数的正常数字格式。答案是: rng.NumberFormat = "##0.00" 但这是不完整的,因为,至少在我的电脑上,我没有在数百万和数千之间找到任何空格分隔符。因此,我将其改为: rng.NumberFormat = "### ### ##0.00" 但这也是不完整的,因为出于某种原因,负数的格式看起来好像负号和数字之间有一个空格。见下文: - 12.4 因此,要实现Excels的“内
rng.NumberFormat = "##0.00"
但这是不完整的,因为,至少在我的电脑上,我没有在数百万和数千之间找到任何空格分隔符。因此,我将其改为:
rng.NumberFormat = "### ### ##0.00"
但这也是不完整的,因为出于某种原因,负数的格式看起来好像负号和数字之间有一个空格。见下文:
- 12.4
因此,要实现Excels的“内置”“格式为数字”格式,还有一些事情要做。此外,我通过VBA应用的格式被Excel描述为自定义格式
有没有办法将格式设置为标准内置格式,即带有千个分隔符、两个小数和负号的数字
我要找的东西是:
rng.NumberFormat = "Number, 2, minus"
将正数的格式放在:之前,负数的格式放在后面。您不需要在格式中放置数百个符号,只需显示1000的分隔符即可。您是否尝试过简单的
,##0.00
,假设您的区域设置使用一个空格作为千分隔符?按顺序放置多个
是没有意义的,即,#0.00
=,#0.00
和##0.00
=>#0.00
应该是相同的格式。如果数字是整数,如何使其不在点后显示零。例如,1000而不是1000.00,但是如果小数点后有数字,它们应该显示为1000.22,您要么有小数,要么没有小数。如果值是整数/长,您可以有条件地更改数字格式。
rng.NumberFormat = "# ##0.00:-# ##0.00"