我一直在研究一个excel宏来绘制Chartsheet上的一些数据,但突然间,它现在显示了7个不同的系列,而不是2 ...
图表的代码是:
Public Sub GraphResults()
Dim ws As Worksheet
Dim LineGraph As Chart
Set ws = ActiveSheet
Set LineGraph = Charts.Add
With LineGraph
.SetSourceData Source:=ws.Range("B29:B35,G29:G35")
.ChartType = xlLineMarkers
.HasTitle = True
.ChartTitle.Text = ""
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "X-axis"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Y-axis"
.SeriesCollection(1).XValues = ws.Range("A29:A35")
End With
End Sub
不是绘制2条线,其中一条线具有B29的Y值:B35而另一条线的Y值为G29:G35,而是图形7 lines
每一行都有B值和G值。例如,系列1包含2个点:B29和G29。系列2包含2点B30和G30。我根本没有改变代码。事实上,当我从上次保存时打开宏时,显示的图形只有2行!当我重新运行宏时,图形变为7行。
这里发生了什么?...
答案 0 :(得分:0)
您的图表是按行绘制值,而不是根据需要绘制列。有关详细信息,请参阅SetSourceData Method。
将PlotBy:=xlColumns
添加到.SetSourceData
行,以便按列自动绘制。