2017-08-17 57 views
1

我想擁有完整的數字,如:14'119'838 - 它也僅僅是0。如果我試試這個:的NumberFormat 0小數,但千位分隔符「'」

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

撇號千分隔符消失。如果我將NumberFormat設置爲「常規」,則不存在千位分隔符....我怎樣才能得到0小數位,但是使用美麗的千位分隔符?

感謝

回答

2

你有你的號碼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 
+0

這導致了2個問題:1.幾個單元格爲0,所以在改變格式之後,這將是「0」。問題是這忽略了第二個或百萬個分隔符。例如1234'567不是很漂亮 – dv3

+0

@ dv3然後將它改爲「#」###'## 0「 – Moosli

+1

@Moosli的結果是'343'424 343424.我認爲dv3需要的是擺脫多餘的」 '「在一個數字的開頭。我認爲可以用'select case'來完成,但爲此你需要運行一個範圍內的每個單元格,並且肯定會降低性能。 – AntiDrondert

2

"0"改變你NumberFormat

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

這樣會給他是英文數字格式。但他提出了瑞士數字格式。 – Moosli

+0

@Moosli對不起,在他的帖子裏提到了哪裏?我找不到任何關於瑞典第一瑞士語瑞典語 –

+2

的提法..​​....他並沒有直接要求瑞典語,而是舉例說明了數字的外觀。在標題中,他要求單引號分隔符thoussands不帶 逗號 – Moosli

1

韋爾普的長度改變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分隔符。