2015-01-21 733 views
2

我见过的问题在stackoverflow之前问过,如何获得正常的数字格式与千位分隔符和2位小数。答案是设置:使用VBA设置带有千位分隔符,2位小数和负号的负号标准数字格式?

rng.NumberFormat = "##0.00" 

但这是不完整的,因为,至少在我的电脑上,我没有得到数百万,数千之间的任何空间分隔符。所以我改变了对:

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

但是这又是不完整的,因为某些原因负数被格式化为看起来好像拥有减号和数量之间的空间。见下:

- 12.4 

所以,还有一些事情要做,以达到Excels“内置”格式为数字格式。另外,我通过VBA应用的格式描述为Excel自定义。

有没有什么办法可以将格式设置为格式化为带有千位分隔符的数字,2位小数和负号的负号?

我在寻找类似:

rng.NumberFormat = "Number, 2, minus" 
+1

您是否试过简单的'#,## 0.00',假设您的区域设置使用空格作为千​​位分隔符? – Rory 2015-01-21 11:42:56

+0

将#### 0.00' =>'#,#0.00'和### 0.00' =>'#0.00'放在一个序列中是没有意义的,它们应该是相同的格式。 – wqw 2015-02-14 20:43:49

回答

1
rng.NumberFormat = "# ##0.00:-# ##0.00" 

你把格式为正数之前:和后负的格式。您不需要在该格式中放置数百个#号,就足以显示1000的分隔符。

+0

如何让它不显示零后点,如果数字是整数。例如1000而不是1000.00,但是如果小数点后面有数字,它们应该显示为1000.22 – vladiz 2015-08-03 17:37:28

+0

您可以有小数或者没有小数。如果价值是整数/长整数,买你可以有条件地改变NumberFormat。 – 2015-08-03 17:40:33

相关问题