不显示VBA数据透视表数据标签

时间:2015-11-16 02:02:20

标签: vba excel-vba charts pivot excel

目前我正在尝试显示我的数据透视表的数据标签。我不知道为什么它没有像预期的那样出现。这是我的编码:

Sub Dimmaer()
    Sheets("Closed INC Table").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Range(Range("A1").CurrentRegion.Select)
    ActiveChart.SetElement (msoElementDataLabelCenter)
End Sub

这是我得到的: enter image description here

同时它应该是这样的: enter image description here

请注意,我不知道表的范围,因为该行将不时更改。 我怎么解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以手动强制数据标签,而不是依赖图表样式将其包含在创建

Sub Dimmaer()
    Sheets("Closed INC Table").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Range(Range("A1").CurrentRegion.Address)
    ActiveChart.SeriesCollection(1).ApplyDataLabels   '<~~ This
    'optionally set position
    ActiveChart.SeriesCollection(1).DataLabels.Position = xlLabelPositionCenter
    ActiveChart.SeriesCollection(2).ApplyDataLabels   '<~~ And this
    'optionally set position
    ActiveChart.SeriesCollection(2).DataLabels.Position = xlLabelPositionCenter
    ActiveChart.SetElement (msoElementDataLabelCenter)
End Sub

如果数据标签已经是图表的一部分,则这些标签无效;例如他们不会被扯掉。