VBA删除本地货币编号格式

时间:2015-09-10 12:10:00

标签: excel vba excel-vba number-formatting

我正在尝试将命名单元格中的数字格式应用到另一个格式,其中源单元格格式可以是百分比,货币(在我的情况下为€)或其他。我的代码使用.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位(英文版)(英文版)

0 个答案:

没有答案