首页 > 解决方案 > 如何确保 Excel 不会更改其他语言版本中数据标签的数字格式?

问题描述

我有一个带有 VBA 代码的工作簿,它为水平条形图中的数据标签指定数字格式。

Chart.SeriesCollection(1).DataLabels.NumberFormat = "0.0"

在我的英文 Excel (O365) 副本中,输出与预期一致,例如3.7. 当工作簿以英语以外的其他语言在 Excel (O365) 的另一个副本中打开时,Excel 似乎会插入一个反斜杠,该斜杠可以在“格式数据标签”侧栏的“格式代码”字段中看到(即0\.0)。3.7例如,输出应该在哪里,输出变成 0.4

当我在非英语 Excel 触及工作簿后加载工作簿时,问题仍然存在 - 我的版本不会丢弃反斜杠。当我删除反斜杠时问题就消失了,并且输出再次符合预期。

在我看来,Excel 将前导零和小数点视为纯文本,将第二个零视为预期的数字字符。

当以不同语言版本打开工作簿时,如何确保 Excel 保持 VBA 中指定的数字格式?

标签: excelvbanumber-formatting

解决方案


没有直接的解决方案,但如果这仍然存在NumberFormat,您可以以编程方式使用内置 Excel 函数的组合来实现相同的数字。

例如:

number = Round(number, 1)

在这种情况下,您可以将 NumberFormat 保留为"General"或类似的


推荐阅读