web-dev-qa-db-ja.com

範囲形式の各セルのVBAの割合

私はこれを探してみましたが、とても簡単に思えますが、それを動作させることはできません。

テーブルがあり、1つの列をパーセントでフォーマットする必要があります。以下は私のコードですが、セルをフォーマットするのではなく、小数のままにします。

これは、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
5
anonymous

.NumberFormat='Percent' with .NumberFormat="0.00%"

12
RyanL