Color problem
I am trying to set the color on a shape object to the same color as the
border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Have you tried
shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Yes. It results in an out of range error.
"Bob Phillips" wrote: Have you tried shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Following worked for me. With a line (shape) embedded on a chart and
selected: Sub test() Dim shLI As ShapeRange, cx as long, i Set shLI = Selection.ShapeRange i = 1 ' guess "i" is in a loop cx = ActiveChart.SeriesCollection(i).Border.ColorIndex If cx = xlAutomatic Then cx = i + 24 shLI.Line.ForeColor.SchemeColor = cx + 7 End Sub Unless otherwise formated, coloured series lines will be xlautomatic, with colours same as those from colorindex 25 and on, in series index order. Add 7 to convert to schemcolor. Regards, Peter T "ojv" wrote in message ... Yes. It results in an out of range error. "Bob Phillips" wrote: Have you tried shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Solves it. Thx.
"Peter T" wrote: Following worked for me. With a line (shape) embedded on a chart and selected: Sub test() Dim shLI As ShapeRange, cx as long, i Set shLI = Selection.ShapeRange i = 1 ' guess "i" is in a loop cx = ActiveChart.SeriesCollection(i).Border.ColorIndex If cx = xlAutomatic Then cx = i + 24 shLI.Line.ForeColor.SchemeColor = cx + 7 End Sub Unless otherwise formated, coloured series lines will be xlautomatic, with colours same as those from colorindex 25 and on, in series index order. Add 7 to convert to schemcolor. Regards, Peter T "ojv" wrote in message ... Yes. It results in an out of range error. "Bob Phillips" wrote: Have you tried shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Glad it works, should have mentioned that the relationship between series
index and colorindex 25 on only works in a "typical" chart, several factors could upset this. If necessary apply the Color (not colorindex) as some cell color format, the applied colour will be mapped to the nearest colorindex, then return and apply that colorindex to your line (+7). Regards, Peter T "ojv" wrote in message ... Solves it. Thx. "Peter T" wrote: Following worked for me. With a line (shape) embedded on a chart and selected: Sub test() Dim shLI As ShapeRange, cx as long, i Set shLI = Selection.ShapeRange i = 1 ' guess "i" is in a loop cx = ActiveChart.SeriesCollection(i).Border.ColorIndex If cx = xlAutomatic Then cx = i + 24 shLI.Line.ForeColor.SchemeColor = cx + 7 End Sub Unless otherwise formated, coloured series lines will be xlautomatic, with colours same as those from colorindex 25 and on, in series index order. Add 7 to convert to schemcolor. Regards, Peter T "ojv" wrote in message ... Yes. It results in an out of range error. "Bob Phillips" wrote: Have you tried shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
Color problem
Thx. again. Will keep in mind. Some times the way colors work out in Excel do
not appear entirely logical, at least to me. ojv "Peter T" wrote: Glad it works, should have mentioned that the relationship between series index and colorindex 25 on only works in a "typical" chart, several factors could upset this. If necessary apply the Color (not colorindex) as some cell color format, the applied colour will be mapped to the nearest colorindex, then return and apply that colorindex to your line (+7). Regards, Peter T "ojv" wrote in message ... Solves it. Thx. "Peter T" wrote: Following worked for me. With a line (shape) embedded on a chart and selected: Sub test() Dim shLI As ShapeRange, cx as long, i Set shLI = Selection.ShapeRange i = 1 ' guess "i" is in a loop cx = ActiveChart.SeriesCollection(i).Border.ColorIndex If cx = xlAutomatic Then cx = i + 24 shLI.Line.ForeColor.SchemeColor = cx + 7 End Sub Unless otherwise formated, coloured series lines will be xlautomatic, with colours same as those from colorindex 25 and on, in series index order. Add 7 to convert to schemcolor. Regards, Peter T "ojv" wrote in message ... Yes. It results in an out of range error. "Bob Phillips" wrote: Have you tried shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.Color -- HTH RP (remove nothere from the email address if mailing direct) "ojv" wrote in message ... I am trying to set the color on a shape object to the same color as the border color for a series object. I want to execute a statement akin to: shLI.Line.ForeColor.SchemeColor = ActiveChart.SeriesCollection(i).Border.ColorIndex I know the above code fails but how can I translate the Border.ColorIndex to an identical color permitting setting of SchemeColor? Any help appreciated. |
All times are GMT +1. The time now is 02:01 AM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com