2015-11-16 4 views
0

В настоящее время я пытаюсь показать метки данных для своей сводной диаграммы. Я не знаю, почему это выглядит не так, как ожидалось. Вот мое кодирование:Этикетки данных диаграммы VBA не отображаются

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

Обратите внимание, что я не знаю, диапазон для таблиц coz строка будет меняться время от времени. Как я могу это решить? Благодаря!

ответ

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 

Если метки данных уже были частью графика они не будут иметь никакого эффекта; например они не будут отключаться.

+0

Извините @Jeeped, я пытаюсь выполнить ваш код, скопировав весь код, но ничего не изменится. – IlhamideaZ

+0

Вы получили ошибку в своем исходном коде 'Range (Range (« A1 »). CurrentRegion.Select)'? Я исправил его выше. – Jeeped

+0

Спасибо @ Jeep! Оно работает! Через неделю взяли TT.TT Спасибо! >< – IlhamideaZ