我正在尝试将包含多个工作表中数据的图表绘制到同一图表中。因此,每张工作表的数据都是我图表中的单独系列。以下是2张样本代码:
Name1 = ActiveWorkbook.Worksheets(1).Name
Name2 = ActiveWorkbook.Worksheets(2).Name
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SetSourceData Source:=Range("'" & Name1 & "'!$C$" & nStart & ":$D$" & nLast & "")
ActiveChart.SeriesCollection(1).Name = "=" & Name1 & "!A1"
ActiveChart.SeriesCollection(1).XValues = "='" & Name1 & "'!$C$" & nStart & ":$C$" & nLast & ""
ActiveChart.SeriesCollection(1).Values = "='" & Name1 & "'!$E$" & nStart & ":$E$" & nLast & ""
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SetSourceData Source:=Range("'" & Name2 & "'!$C$" & nStart & ":$D$" & nLast & "")
ActiveChart.SeriesCollection(2).XValues = "='" & Name2 & "'!$C$" & nStart & ":$C$" & nLast & ""
ActiveChart.SeriesCollection(2).Values = "='" & Name2 & "'!$E$" & nStart & ":$E$" & nLast & ""
ActiveChart.SeriesCollection(2).Name = "=" & Name2 & "!A1"
但我得到一个"无效的参数"第二系列集合中的错误。请帮我解决这个问题。
谢谢!
答案 0 :(得分:0)
尝试在第二个系列集ActiveChart.SetSourceData Source:=Range("'" & Name2 & "'!$C$" & nStart & ":$D$" & nLast & "")
中注释掉代码行,然后查看它是否有效。
由于您专门定义了该系列的值,因此您甚至不需要第一行ActiveChart.SetSourceData
代码。
您还可以添加这些代码行以为图形命名,因为在添加第二个系列时它会被覆盖;
ActiveChart.SetElement (msoElementChartTitleAboveChart)
Selection.Caption = "NameOfChart"
希望有所帮助