A
Arne
I am creating a xlXYScatterLines chart that has a series for each date
segment (1st quarter, 2nd quarter, ...) and would like the xlValue axis
values to be displayed on the right hand side of the chart.
I've tried to have each series designated as xlSecondary, but only the first
series will appear:
For Each ChtObj In ChtSht.ChartObjects
For Each s In ChtObj.Chart.SeriesCollection
'creates a simple series for each Measurement Unit
s.XValues = Range(DataRangeInterval(DataSht.Range("Col_Date"),
s.PlotOrder))
s.Values = Range(DataRangeInterval(Range(colHdrSet(ChtObj.Index +
NumMeasUnits)), s.PlotOrder))
s.MarkerStyle = xlMarkerStyleNone
s.AxisGroup = xlSecondary 'THIS WILL ONLY SHOW THE FIRST SERIES
With s.Border
.Weight = xlMedium
.LineStyle = xlContinuous
.ColorIndex = 5 'Blue RGB(0,112,192)
End With
Next s
Next ChtObj
The over-all chart range is set with the VBA code (there does not seem to be
a way to set the axis to xlSecondary):
For Each ChtObj In ChtSht.ChartObjects
dateMin = "some calculated value"
dateMax="some calculated value"
valueMin = "some calculated value"
valueMax = "some calcualted value"
If (ChtObj.Index) Mod 2 = 1 Then 'xDBar Chart
With ChtObj.Chart
.Axes(xlCategory).MinimumScale = dateMin
.Axes(xlCategory).MaximumScale = dateMax
.Axes(xlValue).MinimumScale = valueMin
.Axes(xlValue).MaximumScale = valueMax
End With
Else 'sBar Chart
With ChtObj.Chart
.Axes(xlCategory).MinimumScale = dateMin
.Axes(xlCategory).MaximumScale = dateMax
.Axes(xlValue).MinimumScale = valueMin
.Axes(xlValue).MaximumScale = valueMax
End With
End If
Next ChtObj
Thanks,
Arne
segment (1st quarter, 2nd quarter, ...) and would like the xlValue axis
values to be displayed on the right hand side of the chart.
I've tried to have each series designated as xlSecondary, but only the first
series will appear:
For Each ChtObj In ChtSht.ChartObjects
For Each s In ChtObj.Chart.SeriesCollection
'creates a simple series for each Measurement Unit
s.XValues = Range(DataRangeInterval(DataSht.Range("Col_Date"),
s.PlotOrder))
s.Values = Range(DataRangeInterval(Range(colHdrSet(ChtObj.Index +
NumMeasUnits)), s.PlotOrder))
s.MarkerStyle = xlMarkerStyleNone
s.AxisGroup = xlSecondary 'THIS WILL ONLY SHOW THE FIRST SERIES
With s.Border
.Weight = xlMedium
.LineStyle = xlContinuous
.ColorIndex = 5 'Blue RGB(0,112,192)
End With
Next s
Next ChtObj
The over-all chart range is set with the VBA code (there does not seem to be
a way to set the axis to xlSecondary):
For Each ChtObj In ChtSht.ChartObjects
dateMin = "some calculated value"
dateMax="some calculated value"
valueMin = "some calculated value"
valueMax = "some calcualted value"
If (ChtObj.Index) Mod 2 = 1 Then 'xDBar Chart
With ChtObj.Chart
.Axes(xlCategory).MinimumScale = dateMin
.Axes(xlCategory).MaximumScale = dateMax
.Axes(xlValue).MinimumScale = valueMin
.Axes(xlValue).MaximumScale = valueMax
End With
Else 'sBar Chart
With ChtObj.Chart
.Axes(xlCategory).MinimumScale = dateMin
.Axes(xlCategory).MaximumScale = dateMax
.Axes(xlValue).MinimumScale = valueMin
.Axes(xlValue).MaximumScale = valueMax
End With
End If
Next ChtObj
Thanks,
Arne