为什么我的折线图绘制数据不正确?

问题描述 投票:0回答:2

我一直在开发一个 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 条线,其中一条线的 Y 值为 B29:B35,另一条线的 Y 值为 G29:G35,而是绘制 7 条线

每条线都有一个B值和一个G值。例如,系列 1 包含 2 个点:B29 和 G29。系列 2 包含 2 个点 B30 和 G30。我根本没有改变代码。事实上,当我打开上次保存的宏时,显示的图形只有 2 条线!当我重新运行宏时,图形变为 7 条线。

这是怎么回事?...

vba excel charts linechart
2个回答
0
投票

您的图表按行绘制值,而不是按您想要的列绘制值。请参阅SetSourceData 方法了解更多信息。

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


0
投票

这让我发疯了!谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.