VBA更改图表中的数据标签 - 兼容性btw Excel 2013和2010

时间:2017-05-18 12:51:36

标签: excel vba excel-2010 excel-2013

我做了一个宏来改变字母表中图表标签的数字格式,因为这些值可能是数千或数百万。在我的代码中,我已经更改了仅在Excel 2013及更高版本中存在于SeriesCollection中的对象FullSeriesCollection。但是,当我在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,但昨天看来我们在前台使用的代码似乎不适用于后台。< / p>

任何想法我该如何解决?

注意:“Gráficos”是葡萄牙语和“巴西”中的“图表”一词,我们使用一个点作为千位分隔符和一个逗号表示小数(世界上大多数人的对应点)

This is the messy chart I got

1 个答案:

答案 0 :(得分:0)

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