2017-03-16 288 views
1

我環顧四周,這似乎很簡單,但我無法讓它工作。VBA對於每個單元格範圍格式爲百分比

我有一張表和一列需要格式化爲百分比。下面是我的代碼,但它沒有格式化單元格,它只是將它們保留爲小數。

我認爲這是因爲cell,即使聲明爲範圍,實際上是單元格的值,所以我不知道如何引用該範圍。

我的returnRebate變量被聲明爲一個範圍,循環遍歷正確的範圍。

代碼:

Dim cell As Range, p As Double 
For Each cell In returnRebate 
    p = cell.Value 

    If p <> 0 And p > 1 Then 
     p = p * 0.01 
     cell.Value = p 
     cell.NumberFormat = "Percent" 'Not formatting here 
    ElseIf p < 1 And p > 0 Then 
     'do nothing to it 
    Else 
     cell.Value = vbNullString 
    End If 
Next 
+2

更換.NumberFormat='Percent'嘗試.NumberFormat更換.NumberFormat = '百分'= 「0.00%」 – RyanL

+0

@RyanL OMG我知道這很簡單!我以爲我曾試過,但我猜不是 – cheshire

回答

6

嘗試用.NumberFormat="0.00%"

+1

我使用'.NumberFormat =「0%」'因爲我不想額外的小數。仍然很好! – cheshire

+1

@cheshire剛剛嘗試過Office Prof 2013,並沒有問題,小數點,FWIW。也許版本依賴(?) – Levon

相關問題