Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA为负数设置带千位分隔符、2位小数和减号的标准数字格式?_Vba_Excel - Fatal编程技术网

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

使用VBA为负数设置带千位分隔符、2位小数和减号的标准数字格式?,vba,excel,Vba,Excel,我已经看过stackoverflow之前提出的问题,如何获得带有千位分隔符和2位小数的正常数字格式。答案是: rng.NumberFormat = "##0.00" 但这是不完整的,因为,至少在我的电脑上,我没有在数百万和数千之间找到任何空格分隔符。因此,我将其改为: rng.NumberFormat = "### ### ##0.00" 但这也是不完整的,因为出于某种原因,负数的格式看起来好像负号和数字之间有一个空格。见下文: - 12.4 因此,要实现Excels的“内

我已经看过stackoverflow之前提出的问题,如何获得带有千位分隔符和2位小数的正常数字格式。答案是:

    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"