Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Has anyone encountered this? TIA - Bob
Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#2
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Hi,
Of course there are only 56 colors on the 2003 pallette to which the ColorIndex applies. -- If this helps, please click the Yes button. Cheers, Shane Devenshire "Bob Barnes" wrote: Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#3
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
But, there are only 6 Colors being used...
Dark Blue = 41 Dark Green = 4 White = -4142 Light Yellow = 6 Dark Red = 3 Your thoughts? TIA - Bob "Shane Devenshire" wrote: Hi, Of course there are only 56 colors on the 2003 pallette to which the ColorIndex applies. -- If this helps, please click the Yes button. Cheers, Shane Devenshire "Bob Barnes" wrote: Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#4
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
-4142 is not white, it's default. Which color index values are applied to
the cells in your range? Which are applied to the series? - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services, Inc. http://PeltierTech.com/WordPress/ _______ "Bob Barnes" wrote in message ... But, there are only 6 Colors being used... Dark Blue = 41 Dark Green = 4 White = -4142 Light Yellow = 6 Dark Red = 3 Your thoughts? TIA - Bob "Shane Devenshire" wrote: Hi, Of course there are only 56 colors on the 2003 pallette to which the ColorIndex applies. -- If this helps, please click the Yes button. Cheers, Shane Devenshire "Bob Barnes" wrote: Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#5
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Jon - Thank you.
These are the colors being used... Dark Blue = 41 Dark Green = 4 White = -4142 Light Yellow = 6 Dark Red = 3 You're correct...the -4142 is th normal color of an Excel Cell, which happens to look like )is technically ?) white. "Jon Peltier" wrote: -4142 is not white, it's default. Which color index values are applied to the cells in your range? Which are applied to the series? - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services, Inc. http://PeltierTech.com/WordPress/ _______ "Bob Barnes" wrote in message ... But, there are only 6 Colors being used... Dark Blue = 41 Dark Green = 4 White = -4142 Light Yellow = 6 Dark Red = 3 Your thoughts? TIA - Bob "Shane Devenshire" wrote: Hi, Of course there are only 56 colors on the 2003 pallette to which the ColorIndex applies. -- If this helps, please click the Yes button. Cheers, Shane Devenshire "Bob Barnes" wrote: Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#6
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
I'm not sure what the problem is or what you are asking. However it seems to
relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#7
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Shouldn't this code...
Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Find the color from... ..SeriesCollection(iSeries).Interior.ColorIndex ....and apply it to.. rSeries.Interior.ColorIndex Or...does the 56th one start..."at 56 they roll over to 1." Will read your example - thank you - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#8
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Peter T - thank you. I opened the reference.
How can I modify my code, w/ yours...? My code... Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With Your code.... For Each sr In chts.SeriesCollection with sr.Interior .pattern = 1 .ColorIndex = 23 end with Next sr Also, what would be the Dim for the "sr". TIA - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#9
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Afraid I can't follow your code or infer from it what your are trying to do.
Try and explain what you are trying to do without code, but give details. For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) Also, what would be the Dim for the "sr". In one of the posts thread there's an entire routine in which sr is fully declared like this Dim sr As Series In the posts only snippets of code are shown, however 'sr' as an object variable is generally, if not always, declared As Series. In context with 'For Each sr In chts.SeriesCollection' it can only be a Series object,(personally I wouldn't have used 'chts' to refer to a single chart). Regards, Peter T "Bob Barnes" wrote in message ... Peter T - thank you. I opened the reference. How can I modify my code, w/ yours...? My code... Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With Your code.... For Each sr In chts.SeriesCollection with sr.Interior .pattern = 1 .ColorIndex = 23 end with Next sr Also, what would be the Dim for the "sr". TIA - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#10
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Thank you - Bob
"Peter T" wrote: Afraid I can't follow your code or infer from it what your are trying to do. Try and explain what you are trying to do without code, but give details. For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) Also, what would be the Dim for the "sr". In one of the posts thread there's an entire routine in which sr is fully declared like this Dim sr As Series In the posts only snippets of code are shown, however 'sr' as an object variable is generally, if not always, declared As Series. In context with 'For Each sr In chts.SeriesCollection' it can only be a Series object,(personally I wouldn't have used 'chts' to refer to a single chart). Regards, Peter T "Bob Barnes" wrote in message ... Peter T - thank you. I opened the reference. How can I modify my code, w/ yours...? My code... Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With Your code.... For Each sr In chts.SeriesCollection with sr.Interior .pattern = 1 .ColorIndex = 23 end with Next sr Also, what would be the Dim for the "sr". TIA - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#11
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Try this:
Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then With .SeriesCollection(iSeries).Interior .ColorIndex = rSeries.Interior.ColorIndex .Pattern = 1 End With End If Next End With - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services, Inc. http://PeltierTech.com/WordPress/ _______ "Bob Barnes" wrote in message ... Peter T - thank you. I opened the reference. How can I modify my code, w/ yours...? My code... Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With Your code.... For Each sr In chts.SeriesCollection with sr.Interior .pattern = 1 .ColorIndex = 23 end with Next sr Also, what would be the Dim for the "sr". TIA - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
#12
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Thank you Jon
"Jon Peltier" wrote: Try this: Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then With .SeriesCollection(iSeries).Interior .ColorIndex = rSeries.Interior.ColorIndex .Pattern = 1 End With End If Next End With - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services, Inc. http://PeltierTech.com/WordPress/ _______ "Bob Barnes" wrote in message ... Peter T - thank you. I opened the reference. How can I modify my code, w/ yours...? My code... Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With Your code.... For Each sr In chts.SeriesCollection with sr.Interior .pattern = 1 .ColorIndex = 23 end with Next sr Also, what would be the Dim for the "sr". TIA - Bob "Peter T" wrote: I'm not sure what the problem is or what you are asking. However it seems to relate to what colorindex is applied after the 56th series. Briefly, the 'automatic' colours for series start with 17 (or 25) and are applied sequentially, at 56 they roll over to 1. However after every 56th series a different grey pattern is applied giving the visual effect of a new set of 56 colours. To prevent patterns after the 56th, apply .pattern = 1. More here http://tinyurl.com/nmozvo Regards, Peter T "Bob Barnes" wrote in message ... Has anyone encountered this? TIA - Bob Sub ColorBySeriesName() Dim rPatterns As Range Dim iSeries As Long Dim rSeries As Range Set rPatterns = ActiveSheet.Range("A1:H66") With ActiveSheet.ChartObjects("Chart 1").Chart For iSeries = 1 To .SeriesCollection.Count Set rSeries = rPatterns.Find(What:=.SeriesCollection(iSeries).Na me) If Not rSeries Is Nothing Then 'Gets near end of the SeriesCollection (56th of 66) & doesn't assign correct 'ColorIndex .SeriesCollection(iSeries).Interior.ColorIndex = rSeries.Interior.ColorIndex End If Next End With End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel Chart SeriesCollection Formula | Excel Discussion (Misc queries) | |||
Pie Chart Percentage incorrect | Charts and Charting in Excel | |||
Chart: range info from seriescollection? | Charts and Charting in Excel | |||
How do re-order values assigned by Excel for chart data? | Charts and Charting in Excel | |||
colorIndex listing for Chart with autoformat settings | Charts and Charting in Excel |