excel - 为什么第三个系列之后的任何后续系列都没有添加?
问题描述
我正在尝试绘制 6 系列数据,但我总是得到一个
运行时错误(1004):无效参数
在第四个系列。此代码适用于我以前的项目,但该项目的数据大于当前数据(见下图)。请帮忙。
Sub CreateChart()
With ActiveSheet.Shapes.AddChart(Left:=10, Width:=250, Top:=100, Height:=320).Chart
.ChartType = xlXYScatterLinesNoMarkers
.SetSourceData Source:=Range("A2:G5")
.ApplyLayout Layout:=8
.Axes(xlValue).MinimumScale = "0"
.Axes(xlValue).MaximumScale = "4"
.SeriesCollection(1).Values = Range("A2:A5")
.SeriesCollection(1).XValues = Range("B2:B5")
.SeriesCollection(2).Values = Range("A2:A5")
.SeriesCollection(2).XValues = Range("C2:C5")
.SeriesCollection(3).Values = Range("A2:A5")
.SeriesCollection(3).XValues = Range("D2:D5")
.SeriesCollection(4).Values = Range("A2:A5")
.SeriesCollection(4).XValues = Range("E2:E5")
.SeriesCollection(5).Name = Range("F1")
.SeriesCollection(5).Values = Range("A2:A5")
.SeriesCollection(5).XValues = Range("F2:F5")
.SeriesCollection(6).Values = Range("A2:A5")
.SeriesCollection(6).XValues = Range("G2:G5")
End With
End Sub
解决方案
您的图表 SourceData 未按预期解析:结果仅包含 3 个系列。因此,调用SeriesCollection(4)
失败。
尝试在设置 SourceData 时使用PlotBy
参数来更改 Excel 分析范围的方式:
With ActiveSheet.Shapes.AddChart(Left:=10, Width:=250, Top:=100, Height:=320).Chart
.ChartType = xlXYScatterLinesNoMarkers
.SetSourceData Source:=Range("A2:G5"), PlotBy:=xlColumns
'....
End With
推荐阅读
- ios - 只调用一次长按按钮动作而不是快速射击
- javascript - 由于路径为空,如何修改我的代码以防止应用程序崩溃
- caching - 指令是如何以及在哪里缓存的?
- c# - 如何压缩目录然后返回结果字节数组,而不在磁盘上物理创建 zip 文件?
- jquery - 如何使用 npm 从 svelte 使用 jquery 和数据表
- java - Find Clusters in a Multidimensional Array Java
- powershell - Powershell合并目录
- react-native - .on('stream') 事件似乎没有使用 peerjs + react-native-peerjs 触发
- html - 如何使带有背景附件的图像居中
- typescript - 打字稿返回嵌套对象参考