我正在尝试将命名单元格中的数字格式应用到另一个格式,其中源单元格格式可以是百分比,货币(在我的情况下为€)或其他。我的代码使用.NumberFormat
范围属性,如下所示:
For newCell in newCellsRange
Range("newCell").Value = some_calculation()
Range("newCell").NumberFormat = Range("sourceCell").NumberFormat
Next newCell
它适用于工作表上显示范围的方式(无论是百分比,货币还是日期)。
但是,如果这个相同的范围链接到条形图并且其值用作标签(没有花哨的格式,右键单击系列>添加数据标签,那就是全部),标签格式将在我改变时触发更新图表来源范围的宏(在我的示例中为newCellsRange
):格式将从欧元货币格式更改为不正确的美国格式:1 523€
将变为1,523 $
,{{ 1}}将成为235 €
。
为了进一步详细说明,我发现范围的.NumberFormat属性为235 $
(显示€),而图表标签的属性为"#,##0 $"
。我没有线索:
"# ##0 $"
会在电子表格中显示为€,而"#,##0 $"
为$。我怎能不得到这种奇怪的格式转换?
如果这有帮助(我怀疑):W7 Enterprise上的Excel 2013 32位(英文版)(英文版)