我想拥有完整的数字,如:14'119'838
- 它也仅仅是0。如果我试试这个:的NumberFormat 0小数,但千位分隔符“'”
Range("C3:H14").NumberFormat = "0"
撇号千分隔符消失。如果我将NumberFormat设置为“常规”,则不存在千位分隔符....我怎样才能得到0小数位,但是使用美丽的千位分隔符?
感谢
我想拥有完整的数字,如:14'119'838
- 它也仅仅是0。如果我试试这个:的NumberFormat 0小数,但千位分隔符“'”
Range("C3:H14").NumberFormat = "0"
撇号千分隔符消失。如果我将NumberFormat设置为“常规”,则不存在千位分隔符....我怎样才能得到0小数位,但是使用美丽的千位分隔符?
感谢
你有你的号码Fromat改变这样的:如果你使用这个Range("C3:H14").NumberFormat = "#,##0"
公式,你会得到
Range("C3:H14").NumberFormat = "#'###'##0"
英文数字格式。 由于您要求“'”Seperartor,您将需要“#'###'## 0”数字格式以获得瑞士数字格式。
代码由数
For Each Rng In Range("a1:B5")
Select Case Len(Rng.Value) 'hier Spalte A
Case Is < 4: Rng.NumberFormat = "##0"
Case 4 To 6: Rng.NumberFormat = "#'##0"
Case 7 To 11: Rng.NumberFormat = "#'###'##0"
End Select
Next
韦尔普的长度改变NumberFormat的,对不起,我来晚了,这里是另一种解决方案:
Option Explicit
Sub again()
Dim rng As Range
set rng = ThisWorkbook.Worksheets("Sheet1").Range("C3:H14")
Application.UseSystemSeparators = False
Application.ThousandsSeparator = "'"
rng.NumberFormat = "#,##0"
End Sub
如果您有其他数你不想用“'分隔的格式它不会这样做,因为它用”'“替换默认的Excel分隔符。
这导致了2个问题:1.几个单元格为0,所以在改变格式之后,这将是“0”。问题是这忽略了第二个或百万个分隔符。例如1234'567不是很漂亮 – dv3
@ dv3然后将它改为“#”###'## 0“ – Moosli
@Moosli的结果是'343'424 343424.我认为dv3需要的是摆脱多余的” '“在一个数字的开头。我认为可以用'select case'来完成,但为此你需要运行一个范围内的每个单元格,并且肯定会降低性能。 – AntiDrondert