基于.Value更改.NumberFormat

我必须根据其价值将单元格的格式更改为欧元。 如果它在1和-1之间,那么它将有三位小数。 否则,它将只有一个。 此外,欧元符号需要在数字之前。 我在欧元符号出现时遇到了麻烦,小数点后面显示零点,例如23,我希望显示为23.0或.9,这应该变成.900。

尝试(用所需的单元格的行和列replaceCellRow和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 

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

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

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

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

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

4)在格式设置中,转到号码,select自定义并input您的格式。 键入“ALT + 0128”,然后“0.000”。 “ALT + 0128”是欧元符号的ASCII码

看到这里的例子

5)点击确定返回到工作表。 如果单元格仍然突出显示,请使用与上述相同types的格式将数字格式更改为自定义; “ALT + 0128”和“0.0”。

6)完成!

自定义格式:

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

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