我正在尝试创建一个xy图,其中x值是时间轴(列A),y值是在其他列中。 (在示例中只有C和D) 当我从下面尝试我的代码时,我得到一个带有时间轴的图形(所以列A)和y值所有其他列(B,C,D,E,...)是不需要的。
我可以看到.seriescollection(1)和(2)覆盖了默认的y值(因为我的范围较小),但所有其他的(列B,D,E,......)仍然保留在图表。
有什么想法?提前谢谢!
Sub grafieken()
'
' grafieken Macro
'
Dim sh As Worksheet
Dim chrt As Chart
Dim naaaam As String
naaam = ActiveWorkbook.ActiveSheet.Name
Set sh = ActiveWorkbook.Worksheets(naaam)
Set chrt = sh.Shapes.AddChart.Chart
With chrt
'Data?
.ChartType = xlXYScatter
.SeriesCollection.NewSeries
.SeriesCollection(1).Name = sh.Range("$C$1")
.SeriesCollection(1).XValues = sh.Range("$A$2:$A$11")
.SeriesCollection(1).Values = sh.Range("$C$2:$C$11")
.SeriesCollection(2).Name = sh.Range("$D$1")
.SeriesCollection(2).XValues = sh.Range("$A$2:$A$11")
.SeriesCollection(2).Values = sh.Range("$D$2:$D$11")
'Titles?
.HasTitle = True
.ChartTitle.Characters.Text = naaam
End With
End Sub
答案 0 :(得分:0)
Sub grafieken()
Dim MySh As Worksheet
Dim chrt As Chart
Dim naaaam As String
naaam = ActiveWorkbook.ActiveSheet.Name
Set MySh = ActiveWorkbook.Worksheets(naaam)
Set chrt = MySh.Shapes.AddChart.Chart
With chrt
'Data?
.SetSourceData Source:=Sheets(naaam).Range("A1:B11")
.ChartType = xlXYScatter
.SeriesCollection.Add Source:=ActiveSheet.Range("E1:E11")
'.SeriesCollection.NewSeries
.SeriesCollection(1).Name = ActiveSheet.Range("$C$1")
.SeriesCollection(1).XValues = ActiveSheet.Range("$A$2:$A$11")
.SeriesCollection(1).Values = ActiveSheet.Range("$C$2:$C$11")
'Titles?
.HasTitle = True
.ChartTitle.Characters.Text = naaam
End With
End Sub
我找到了一种方法,我首先需要为第一个系列定义源数据,然后将它们更改为我想要的数据,这样就不会出现不需要的系列。