2017-03-16 15 views
1

私はこれを見回してきましたが、それはとてもシンプルなようですが、それを動作させることはできません。VBA各セル範囲の書式でパーセントとして

私はテーブルを持っており、1つの列をパーセントでフォーマットする必要があります。以下は私のコードですが、セルを書式設定するのではなく、10進数のままにしておきます。

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 Professor 2013で試したところ、小数点以下の問題はありませんでした。FWIWたぶんバージョン依存(?) – Levon

関連する問題