Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
I would like the color of my data points to vary based not on their x or y
value, but rather on a third column running alongside them. How can I do it? |
#2
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Assuming your third column is column "C" and that you would want to change
the colors of the XY points based on the names Jim, Frank, or Kim, a VBA option could look like this (does not include any error handling): Sub ChangeXYColors() Application.ScreenUpdating = False Dim Rng As Range Cnt = 1 For Each Rng In Range("C2:C10") ActiveSheet.ChartObjects("Chart1").Activate ActiveChart.SeriesCollection(1).Points(Cnt).Select If Rng.Value = "Jim" Then With Selection .MarkerBackgroundColorIndex = 10 .MarkerForegroundColorIndex = 10 End With ElseIf Rng.Value = "Frank" Then With Selection .MarkerBackgroundColorIndex = 11 .MarkerForegroundColorIndex = 11 End With ElseIf Rng.Value = "Kim" Then With Selection .MarkerBackgroundColorIndex = 12 .MarkerForegroundColorIndex = 12 End With End If Cnt = Cnt + 1 Next Rng ActiveChart.Deselect End Sub -- John Mansfield http://cellmatrix.net "hmm" wrote: I would like the color of my data points to vary based not on their x or y value, but rather on a third column running alongside them. How can I do it? |
#3
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
In addition to the VBA example, I've added a worksheet example to my site -
the entry is dated today. -- John Mansfield http://cellmatrix.net "John Mansfield" wrote: Assuming your third column is column "C" and that you would want to change the colors of the XY points based on the names Jim, Frank, or Kim, a VBA option could look like this (does not include any error handling): Sub ChangeXYColors() Application.ScreenUpdating = False Dim Rng As Range Cnt = 1 For Each Rng In Range("C2:C10") ActiveSheet.ChartObjects("Chart1").Activate ActiveChart.SeriesCollection(1).Points(Cnt).Select If Rng.Value = "Jim" Then With Selection .MarkerBackgroundColorIndex = 10 .MarkerForegroundColorIndex = 10 End With ElseIf Rng.Value = "Frank" Then With Selection .MarkerBackgroundColorIndex = 11 .MarkerForegroundColorIndex = 11 End With ElseIf Rng.Value = "Kim" Then With Selection .MarkerBackgroundColorIndex = 12 .MarkerForegroundColorIndex = 12 End With End If Cnt = Cnt + 1 Next Rng ActiveChart.Deselect End Sub -- John Mansfield http://cellmatrix.net "hmm" wrote: I would like the color of my data points to vary based not on their x or y value, but rather on a third column running alongside them. How can I do it? |
#4
![]()
Posted to microsoft.public.excel.charting
|
|||
|
|||
![]()
Thanks John.
"John Mansfield" wrote: In addition to the VBA example, I've added a worksheet example to my site - the entry is dated today. -- John Mansfield http://cellmatrix.net "John Mansfield" wrote: Assuming your third column is column "C" and that you would want to change the colors of the XY points based on the names Jim, Frank, or Kim, a VBA option could look like this (does not include any error handling): Sub ChangeXYColors() Application.ScreenUpdating = False Dim Rng As Range Cnt = 1 For Each Rng In Range("C2:C10") ActiveSheet.ChartObjects("Chart1").Activate ActiveChart.SeriesCollection(1).Points(Cnt).Select If Rng.Value = "Jim" Then With Selection .MarkerBackgroundColorIndex = 10 .MarkerForegroundColorIndex = 10 End With ElseIf Rng.Value = "Frank" Then With Selection .MarkerBackgroundColorIndex = 11 .MarkerForegroundColorIndex = 11 End With ElseIf Rng.Value = "Kim" Then With Selection .MarkerBackgroundColorIndex = 12 .MarkerForegroundColorIndex = 12 End With End If Cnt = Cnt + 1 Next Rng ActiveChart.Deselect End Sub -- John Mansfield http://cellmatrix.net "hmm" wrote: I would like the color of my data points to vary based not on their x or y value, but rather on a third column running alongside them. How can I do it? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How do I conditionally delete rows based on cell contents? | Excel Worksheet Functions | |||
Conditional Format a column based on another | Excel Discussion (Misc queries) | |||
Conditionally summing cells based on conditions in other rows | Excel Worksheet Functions | |||
date updated conditionally based upon other cells | Excel Worksheet Functions | |||
New column based on row cell format | Excel Discussion (Misc queries) |