首页 > 解决方案 > VBA图表第二个数据系列

问题描述

我有一些几年前写的代码,它将根据另一个选项卡中的数据在一个选项卡中创建一个条形图。我现在的任务是显示相同的图表,但显示第二个数据系列。

我尝试了多种方法,但无法使其正常工作。我想知道是否有人可以查看下面的代码并为我指明正确的方向。

With Sheets("DynamicCharts")
    LastRow = .Range("B" & .Rows.Count).End(xlUp).row
    Set Rng1 = .Range("B2:B" & LastRow & ", D2:D" & LastRow)
    ShName = .Name
End With
With Sheets("Live Data").ChartObjects("County").Chart
    .SetSourceData Source:=Rng1
    .FullSeriesCollection(1).Name = "='" & ShName & "'!$C$1"                     
    .FullSeriesCollection(1).Values = "='" & ShName & "'!$C$2:$C$" & LastRow
    .FullSeriesCollection(2).Name = "='" & ShName & "'!$D$1"
    .FullSeriesCollection(2).Values = "='" & ShName & "'!$D$2:$D$" & LastRow     
    .FullSeriesCollection(1).XValues = "='" & ShName & "'!$B$2:$B$" & LastRow    
End With

第 10 行和第 11 行,.FullSeriesCollection(2) 是我添加的行,希望这会添加我的第二个数据系列。但是,我只是收到一条调试消息,上面写着“参数无效”。

任何帮助将非常感激。

提前致谢

标签: excelvba

解决方案


认为我设法为那些希望获得相同结果的人解决了这个问题

With Sheets("DynamicCharts")
    LastRow = .Range("B" & .Rows.Count).End(xlUp).row
    Set Rng1 = .Range("B2:B" & LastRow & ", D2:D" & LastRow)
    ShName = .Name
End With
With Sheets("Live Data").ChartObjects("County").Chart
    .SetSourceData Source:=Rng1
    .FullSeriesCollection(1).Name = "='" & ShName & "'!$C$1"                     
    .FullSeriesCollection(1).Values = "='" & ShName & "'!$C$2:$C$" & LastRow    
    .FullSeriesCollection(1).XValues = "='" & ShName & "'!$B$2:$B$" & LastRow
    .SeriesCollection.NewSeries
    .FullSeriesCollection(2).Name = "='" & ShName & "'!$D$1"
    .FullSeriesCollection(2).Values = "='" & ShName & "'!$D$2:$D$" & LastRow
    .FullSeriesCollection(2).XValues = "='" & ShName & "'!$B$2:$B$" & LastRow   
End With

推荐阅读