为什么我的LineChart绘图数据不正确?

时间:2018-06-06 14:39:47

标签: vba excel-vba charts linechart excel

我一直在研究一个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行。

这里发生了什么?...

1 个答案:

答案 0 :(得分:0)

您的图表是按行绘制值,而不是根据需要绘制列。有关详细信息,请参阅SetSourceData Method

PlotBy:=xlColumns添加到.SetSourceData行,以便按列自动绘制。