根据.Value更改.NumberFormat

时间:2015-04-27 21:51:41

标签: excel vba formatting format

我必须根据其值将单元格格式更改为欧元。如果它介于1和-1之间,那么它将有三个小数位。否则,它将只有一个。欧元符号也需要在数字之前。我很难让欧元符号出现并在小数点后显示为23等数字时出现零,我希望将其显示为23.0或.9,这应该更改为.900。

4 个答案:

答案 0 :(得分:1)

尝试(将CellRow和CellColumn替换为单元格所需的行和列):

If Cells(CellRow,CellColumn).Value  >= -1 and Cells(CellRow,CellColumn).Value <= 1 then
    Cells(CellRow,CellColumn).NumberFormat = "[$€-2] #,##0.000"
Else
    Cells(CellRow,CellColumn).NumberFormat = "[$€-2] #,##0.0"
End If

答案 1 :(得分:0)

以复杂的自定义数字格式使用条件标准。

Selection.NumberFormat = "[>1]€ 0.0;[<-1]€ -0.0;€ 0.000"

答案 2 :(得分:0)

1)突出显示要格式化的单元格。对于这个例子,我假设它只是[A1]。

2)转到条件格式&gt;新规则&gt;使用公式确定要格式化的单元格。

3)在公式栏中输入=AND(A1<=1,A1>=-1)

4)在格式设置中,转到数字,选择自定义并输入格式。输入&#34; ALT + 0128&#34;然后&#34; 0.000&#34;。 &#34; ALT + 0128&#34;是欧元符号的ASCII码

see example here

5)单击“确定”返回工作表。在单元格仍然突出显示的情况下,使用与上述相同类型的格式将数字格式更改为自定义; &#34; ALT + 0128&#34;和&#34; 0.0&#34;。

6)完成!

答案 3 :(得分:0)

自定义格式:

[<-1]$#,##0.0;[<1]$#,##0.000;$#,##0.0

更改国际选项中的货币符号.- Excel将使用控制面板中设置的任何内容