VBA更改图表中的数据标签 - 兼容性顺便说一句Excel 2013和2010



我做了一个宏来更改仪表板中图表标签的数字格式,因为这些值可以是数千或数百万。在我的代码中,我已经将仅存在于 Excel 2013 及更高版本中的对象 FullSeriesCollection 更改为 SeriesCollection。但是,当我在Excel 2010中运行代码时,我仍然面临问题,因为自定义数字格式代码带来了完全不同的结果。

关注数百万人的 VBA

    Sheets("Gráficos").ChartObjects("n2_resultado").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""
ActiveChart.SeriesCollection(2).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""
ActiveChart.SeriesCollection(3).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""
ActiveChart.SeriesCollection(4).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""
ActiveChart.SeriesCollection(5).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""
ActiveChart.SeriesCollection(6).DataLabels.Select
    Selection.NumberFormat = "#.##0,0..;-#.##0,0..;"""""

对于千个值,数字格式代码如下:

"#.##0,0.;-#.##0,0.;"""""

我无法轻松访问 Excel 2010,但昨天一瞥,我们在前台使用的代码似乎在后台不起作用。

任何想法我该如何解决它?

注意:"Gráficos"是葡萄牙语中"图表"的意思,在巴西,我们使用点作为千位分隔符,逗号表示小数(世界上大部分地区的反面,哈哈(

这是我得到的凌乱图表

Excel 2010 和 2013 在宏中的数字格式代码方面的工作方式似乎不同。由于我对Excel 2010的访问权限有限,解决方案是复制图表,根据需要更改标签,然后切换宏以仅显示具有数百万/数千个标签的图表。

相关内容

最新更新