在条形图中添加参考线

我正在尝试在图表中添加一行作为指标,但无论如何也无法想象我能做到这一点。

lrow = ThisWorkbook.Sheets("ABC").Cells(Rows.Count, 1).End(xlUp).Row Charts.Add ActiveChart.ChartType = xlBarStacked ActiveChart.SetSourceData Source:=Sheets("ABC").Range("A2:AE" & lrow), PlotBy:= xlColumns ActiveChart.Location Where:=xlLocationAsObject, Name:="ABC" ActiveChart.HasTitle = True ActiveChart.ChartTitle.Text = "XYZ" ActiveChart.Axes(xlValue).MajorGridlines.Delete ActiveChart.ChartTitle.Font.Size = 11 Set cht = ActiveChart 

假设我的数据就像

  John Jack Jesse Exam 1 5 6 4 Exam 2 6 7 5 Exam 3 1 4 9 Exam 4 3 9 8 Exam 5 8 6 1 

你可以想象一下条形图的样子。 现在我该如何在这个图表中添加一个垂直线,假设一个值为25,这将表明任何一个25以上的酒吧,并作为区别或大满贯线。 因此,每个三人的每个酒吧现在将有一个名称和分数在每个考试中打分。 如果以另一种方式,我们可以把每个单独的考试加起来。 所以我需要绘制的线将显示,如果这些人中的任何一个总数超过25岁。希望这解释。 提前致谢。

  1. 在数据底部添加另一行,为考试指定您的目标行:
  ╔════════╦══════╦══════╦═══════╗ ║ ║ John ║ Jack ║ Jesse ║ ╠════════╬══════╬══════╬═══════╣ ║ Exam 1 ║ 5 ║ 6 ║ 4 ║ ║ Exam 2 ║ 6 ║ 7 ║ 5 ║ ║ Exam 3 ║ 1 ║ 4 ║ 9 ║ ║ Exam 4 ║ 3 ║ 9 ║ 8 ║ ║ Exam 5 ║ 8 ║ 6 ║ 1 ║ ║ Goal ║ 25 ║ 25 ║ 25 ║ ╚════════╩══════╩══════╩═══════╝ 
  1. 使用类似于以下的代码来创build图表:

     Range("A1:D7").Select ActiveSheet.Shapes.AddChart.Select ActiveChart.SetSourceData Range("Sheet1!$A$1:$D$7"), xlRows ActiveChart.ChartType = xlColumnStacked ActiveChart.SeriesCollection(6).ChartType = xlLine 

除了最后一个数据系列(在这种情况下,系列6的目标)正在变为一条线而不是一个堆积条,这应该与您目前所拥有的非常相似。 您可以根据源数据中的行数/系列dynamic插入此值,这与您使用lrow进行的操作lrow

  1. 这应该创build一个如下图(在y轴25的红线)。 如果您需要对球门线的定位/造型进行更多的控制,则可以将其格式化,甚至可以绘制在辅助Y轴上。

在这里输入图像说明