2016-07-31 42 views
0

在Excel 2016中,我想在图表上显示标签。Excel 2016图表文本标签

我有一个函数,ALPH,具有字母数字对应:A到1,B 2,AA至27等

我有填充到已经表( “数据”)和数据图表没有DataLabels。

For s = 1 To 18 
     ns = (s - 1) * 2 
     Max = "32" 
     Sheets("Analysis").ChartObjects("Chart 1").Activate 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).XValues = Sheets("Data").Range(alph(ns + 1) & "26:" & alph(ns + 1) & Max) 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).Values = Sheets("Data").Range(alph(ns + 2) & "26:" & alph(ns + 2) & Max) 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).Name = nameA(s) 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).Points(s).DataLabels.HasDataLabel = True 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).Points(s).DataLabels.Position = xlLabelPositionBelow 
     Sheets("Analysis").ChartObjects("Chart 1").Chart.SeriesCollection(s).Points(s).DataLabels.Text = nameA(s) 
    Next s 
+0

你可以分享你的其他代码吗?它将更容易调试?你有错误吗? –

+0

你看过我的答案吗? –

回答

0

我正在使用Sub动态地将系列添加到图表,然后它为每个系列设置参数(这是不同的)。

Option Explicit 

Sub CreateChart() 

Dim Cht         As ChartObject 
Dim Cht_Series       As Series 
Dim Series_Cntr       As Integer 

Set Cht = Worksheets("Analysis").ChartObjects("Chart 1") 

With Cht.Chart 
    Set Cht_Series = .SeriesCollection(s) 
    With Cht_Series 
     .XValues = Sheets("Data").Range(alph(ns + 1) & "26:" & alph(ns + 1) & Max) 
     .Values = Sheets("Data").Range(alph(ns + 2) & "26:" & alph(ns + 2) & Max) 
     .Name = nameA(s) 

     .ApplyDataLabels 
     With .DataLabels 
      .Position = xlLabelPositionBelow 

      ' decide what you want to display on the Data labels 
      .ShowValue = True 
      .ShowSeriesName = True 
      .ShowCategoryName = True 
     End With 
    End With 
End With 

End Sub