我有23个部门的以下数据。 第一行部门单元格合并。
我的数据类似于图片中的数据in this link.我只有[23个数字''和'行为'。
为什么会这样?
Sub TwoCharts11()
Dim rChart1 As Range
Dim rChart2 As Range
Dim iColumn As Long
Dim cht1 As Chart
Dim cht2 As Chart
Const StrtRow As Long = 2
Const EndRow As Long = 6
With ActiveSheet
Set rChart1 = .Range(.Cells(StrtRow, "B"), .Cells(EndRow, "B"))
Set rChart2 = .Range(.Cells(StrtRow, "B"), .Cells(EndRow, "B"))
For iColumn = 3 To 29 Step 2
Set rChart1 = Union(rChart1, .Range(.Cells(StrtRow, iColumn), .Cells(EndRow, iColumn)))
Next
For iColumn = 4 To 30 Step 2
Set rChart2 = Union(rChart2, .Range(.Cells(StrtRow, iColumn), .Cells(EndRow, iColumn)))
Next
Set cht1 = .Shapes.AddChart.Chart
Set cht2 = .Shapes.AddChart.Chart
With cht1
.Parent.Left = .Parent.Left - .Parent.Width / 2
.ChartType = xlColumnClustered
.SetSourceData rChart1
End With
With cht2
.Parent.Left = .Parent.Left + .Parent.Width / 2
.ChartType = xlColumnClustered
.SetSourceData rChart2
End With
End With
End Sub
答案 0 :(得分:0)
图表系列公式(选择图表并查看公式栏)如下所示:
=SERIES(,Sheet1!$B$5:$F$5,Sheet1!$G$5:$K$5,1)
表示
=SERIES({series name, optional},{x values},{y values},{plot order})
将不连续的范围组合成X和Y值时,系列公式会变大:
=SERIES(,(Sheet1!$B$2,Sheet1!$D$2,Sheet1!$F$2,Sheet1!$H$2,Sheet1!$J$2),(Sheet1!$C$2,Sheet1!$E$2,Sheet1!$G$2,Sheet1!$I$2,Sheet1!$K$2),1)
系列公式的每个部分都有严格的字符限制,少于256个字符,此时它会失败,并显示您已经看到的错误消息。
@bonCodigo建议将数据从不连续的排列(如屏幕截图中的第一个彩色行;紫色= X值,蓝色= Y值)转换为连续排列(如第二个)。图表看起来是一样的,但第二个中的公式更简单,并且不会给你错误。