【发布时间】:2013-11-27 18:16:36
【问题描述】:
我正在尝试通过宏在 Excel 中自动创建图表。 基本上我有很多数据(41 列,从 C 列到 AQ 列),每一个都包含另一个“名称”。在一列中有两个系列在两个不同的行部分(一个从第 3 行到第 8 行,一个从第 12 行到第 17 行)。
我想要每列一张图,所以我总共有 41 张图。每个图表包含两个系列。 B 列中是 X 轴上的值,这对于每个图表都是相同的。
目的是使用 y 轴值创建一个 for next 循环,并同时创建它们。
我已经尝试对第一部分进行编码(只需创建一个图表,在 x 轴上使用 B3:B8 的值,在 y 轴上使用 C3:C8 的值,第二个系列仅向下几行。
我收到一个错误,但我不明白为什么,我尝试了不同的方法,但始终没有奏效。错误出现在这一行: ActiveChart.SeriesCollection(1).Values = Range(Cells(3, 3), Cells(8, 3)).Value
有没有人知道可能出了什么问题或如何解决这个问题?
Sub Macro5()
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "='Blad1'!$A$1"
ActiveChart.SeriesCollection(1).XValues = "='Blad1'!$B$3:$B$8"
ActiveChart.SeriesCollection(1).Values = Range(Cells(3, 3), Cells(8, 3)).Value
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "='Blad1'!$A$10"
ActiveChart.SeriesCollection(2).XValues = "='Blad1'!$B$12:$B$17"
ActiveChart.SeriesCollection(2).Values = Range(Cells(12, 3), Cells(17, 3)).Value
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.Axes(xlValue).MajorGridlines.Select
Selection.Delete
ActiveChart.SeriesCollection(1).Trendlines.Add
ActiveChart.SeriesCollection(1).Trendlines(1).Select
Selection.DisplayEquation = True
Selection.DisplayRSquared = True
ActiveChart.SeriesCollection(2).Trendlines.Add
ActiveChart.SeriesCollection(2).Trendlines(1).Select
Selection.DisplayEquation = True
Selection.DisplayRSquared = True
End Sub
【问题讨论】:
-
您遇到的错误是什么?