私はこれを探してみましたが、とても簡単に思えますが、それを動作させることはできません。
テーブルがあり、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
.NumberFormat='Percent'
with .NumberFormat="0.00%"