Excel 基于.Value更改.NumberFormat

Excel 基于.Value更改.NumberFormat,excel,vba,formatting,format,Excel,Vba,Formatting,Format,我必须根据单元格的值将其格式更改为欧元。如果它在1和-1之间,那么它将有三个小数位。否则,它将只有一个。此外,欧元符号必须位于数字之前。我很难让欧元符号出现,小数点后的数字显示为零,比如23,我希望显示为23.0或.9,应该改为.900 尝试(将CellRow和CellColumn替换为所需的单元格行和列): If单元格(CellRow,CellColumn).Value>=-1和单元格(CellRow,CellColumn).Value以复杂的自定义数字格式使用条件条件条件 Selection

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

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


If单元格(CellRow,CellColumn).Value>=-1和单元格(CellRow,CellColumn).Value以复杂的自定义数字格式使用条件条件条件

Selection.NumberFormat = "[>1]€ 0.0;[<-1]€ -0.0;€ 0.000"
Selection.NumberFormat=“[>1]€0.0;[1)突出显示要格式化的单元格。在本例中,我假设它只是[A1]

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

3) 在公式栏中输入
=和(A1=-1)

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

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

6) 完成!

自定义格式:

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

[您是在寻找vba解决方案还是在工作簿上的解决方案?我一直在尝试vba,但其中任何一个都可以。这是我现在的代码ActiveCell。选择如果ActiveCell.Value<1和ActiveCell.Value>-1,则欧元=格式(ActiveCell.Value,“0.000”)或者:欧元=格式(ActiveCell.Value,“0.0”)如果ActiveCell.FormulaR1C1=“€”“&我只是使用了NumberFormat部分而不是常规格式,它工作正常。谢谢!
[<-1]$#,##0.0;[<1]$#,##0.000;$#,##0.0