ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Charts and Charting in Excel (https://www.excelbanter.com/charts-charting-excel/)
-   -   Conditionally format points based on a third column (https://www.excelbanter.com/charts-charting-excel/161794-conditionally-format-points-based-third-column.html)

hmm

Conditionally format points based on a third column
 
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?

John Mansfield

Conditionally format points based on a third column
 
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?


John Mansfield

Conditionally format points based on a third column
 
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?


hmm

Conditionally format points based on a third column
 
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?



All times are GMT +1. The time now is 02:30 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com