2012-08-07 74 views
2

这实际上是两个不同的问题。首先,我有一个包含三列数据的Excel表格。我在列A,C和E中有12行数据。从我一直在查找的内容来看,此程序应将列A指定给x轴,将列C和D指定给y轴,同时还要添加标签。如何使用Excel VBA 2010创建具有两个数据集的图表

Sub ChartMaker() 
    ActiveWorkbook.Charts.Add 
    With ActiveWorkbook.ActiveChart 
     .ChartType = xlXYScatterLines 
     ActiveChart.SetSourceData Source:=Range("A1:A12,C1:C12,E1:E12") 
     .Location xlLocationAsNewSheet 
     .HasTitle = True 
     .ChartTitle.Characters.Text = "CFL Over Time" 
     .Axes(xlCategory, xlPrimary).HasTitle = True 
     .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time (Days)" 
     .Axes(xlValue, xlPrimary).HasTitle = True 
     .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "CFL" 
     .Axes(xlCategory).HasMajorGridlines = True 
     .Axes(xlCategory).HasMinorGridlines = False 
     .Axes(xlValue).HasMajorGridlines = True 
     .Axes(xlValue).HasMinorGridlines = False 
     .HasLegend = False 
    End With 
End Sub 

我总是收到错误“Object variable or With block variable not set”。

这是我的第一个问题!

我的第二个问题是如何创建一个包含以下几组数据的图表,其中y轴上有两组数据,但它们共享一个x轴。

数据集之一:

X  Y1 

1 0.87 
2 0.45 
3 0.92 
4 0.03 
5 0.99 
6 0.45 
7 0.63 
8 0.83 
9 0.28 
10 0.66 

数据设置两个:

X  Y2 

0.3 2 
4.5 3 
6  6 
7.2 1 
7.8 6 
8.3 1 
9.1 4 
9.6 5 
10  9 
13  2 

有没有办法让这些在同一张图? (使用VBA当然)

回答

4

创建图表

ActiveSheet.Shapes.AddChart.Select 
'this adds the chart and selects it in the same statement 
ActiveChart.ChartType = xlXYScatter 

你然后添加第一组点

ActiveChart.SeriesCollection.NewSeries 
ActiveChart.SeriesCollection(1).Name = "=Sheet1!$C$1" 
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!$A$3:$A$12" 
ActiveChart.SeriesCollection(1).Values = "=Sheet1!$C$3:$C$12" 

的并使用相同的方法来添加所述第二组

ActiveChart.SeriesCollection.NewSeries 
ActiveChart.SeriesCollection(2).Name = "Sheet1!$E$1" 
ActiveChart.SeriesCollection(2).XValues = "=Sheet1!$D$3:$D$12" 
ActiveChart.SeriesCollection(2).Values = "=Sheet1!$E$3:$E$12" 
+0

第一部分是否添加图表?或者我还需要为第一行添加'ActiveWorkBook.Charts.Add'? – TheTreeMan 2012-08-08 16:31:01

+0

第一行创建图表,并且还使其处于活动状态,全部在单个语句中 – SeanC 2012-08-08 16:48:35

+0

谢谢!如果你不介意,我还有其他一些问题。首先,当创建图形时,出于某种原因在图例上列出了三个不同的系列。为什么第三个创建?我确切地知道你在那里,只是改变,以适应我的范围。最后,如何更改不同系列的标记类型/尺寸/颜色? – TheTreeMan 2012-08-08 17:30:35