NumberFormat,小数为0,但千位分隔符" ' "

时间:2017-08-17 11:26:25

标签: vba excel-vba excel

我希望整个数字像:14'119'838 - 它也可以只有0.如果我试试这个:

Range("C3:H14").NumberFormat = "0"

Apostrophe-千分隔符消失。如果我将NumberFormat设置为" General",则没有千位分隔符....我怎么能有0个小数位,但是有美丽的千位分隔符?

由于

3 个答案:

答案 0 :(得分:2)

NumberFormat"0"更改为:

Range("C3:H14").NumberFormat = "#,##0"

答案 1 :(得分:2)

您必须将您的Number Fromat更改为:

Range("C3:H14").NumberFormat = "#'###'##0"

如果您使用此Range("C3:H14").NumberFormat = "#,##0"公式,您将获得英文数字格式。 由于您要求“'”Seperartor,您需要“#'###'## 0”数字格式才能获得瑞士数字格式。

使用Number

的长度更改NumberFormat的代码
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

答案 2 :(得分:1)

Welp,对不起,我迟到了,这是另一个解决方案:

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分隔符