(Un)usual "cannot set Xvalues" error message
Okay guys, here's some code from my little userform.
It's basically a fancy database manipulation tool which, at some point,
plots the data onto a graph. The graph is pre-existing and all I want
to do is alter the series parameters to display or hide a line.
I have two functions that do this on the fly - one adds or removes 95%
confidence intervals from the graph.
***
If numseries = 1 Then
With Charts(2).SeriesCollection(2)
..Values = Worksheets("DataSet").Range("II33:II86")
..XValues = Worksheets("DataSet").Range("IF33:IF86")
..Name = "Series 1 Plus 95%"
End With
With Charts(2).SeriesCollection(3)
..Values = Worksheets("DataSet").Range("IJ33:IJ86")
..XValues = Worksheets("DataSet").Range("IF33:IF86")
..Name = "Series 1 Minus 95%"
End With
End If
***
This works every time.
The second adds or removes a line that marks the 50% survival point (by
drawing a line across until the appropriate day, and then dropping down
to zero).
***
If numseries = 1 Then
With Charts(2).SeriesCollection(13)
..Values = Worksheets("DataSet").Range("IE72:IE125")
..XValues = Worksheets("DataSet").Range("IF33:IF86")
..Name = "Series 1 50% losses"
End With
End If
***
This one crashes every time with error 1004.
Note that the .Values parameter is set, but it falls over when it
reaches the .Xvalues parameter. Also note that the range used for the
..XValues parameter in both instances IS THE SAME.
Same graph. Same code. Same range. All series exist. I'm using a
scatter graph plotting a line with no datapoints shown: the default
version.
Do the series have to be consecutive? In this situation I normally
have series 4 through 12 inactive (X and Y values set to zero) unless
I'm analysing more than one set of data - but the same error occurs
even if I have the other series filled (analysing 4 sets of data with
confidence intervals).
Any ideas as to why this rather obscure error should crop up? What
actually prevents a series from having its Xvalues parameter
modified...? If I could see a difference between the two codes it
would make more sense, but I literally cut and pasted it across and
modified the range values for the V values.
Cheers
Bennett
|