View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Michael Hudston Michael Hudston is offline
external usenet poster
 
Posts: 24
Default Setting the Colour of Individual Items within a Legend

Ok that is changin the colours, but they are all the same. One thing I have
identified is that they all appear to e points in the same series, which is
why they all have the same colour.


"Peter T" wrote:

Better to format the series themselves, legend formats will reflect same.

Dim sr As Series
Dim arr
Dim i

arr = Array(RGB(0, 51, 153), RGB(64, 102, 178), _
RGB(128, 153, 204), RGB(102, 102, 255), _
RGB(140, 140, 255), RGB(178, 178, 255))

i = -1
For Each sr In chtChart .SeriesCollection
i = i + 1
If i <= UBound(arr) Then sr.Interior.Color = arr(i)
Next

Unless you are using XL2007, with a default palette your interior formats
will not update to your particular RGB's. Instead they will match to the
closest matching colours that exist in the palette. If you want all your
charts in the workbook to adopt your colour sheme suggest you customize the
palette. In particular the bottom two rows of the palette.

Regards,
Peter T



"Michael Hudston" wrote in
message ...
I am using the following Code to plot the chart, but Im not sure how to
getit
to let me decide the colours of the Columns it displays

Sub Chrt_Incident_Age_Click()

Dim chtChart As Chart

' Remove Existing Chart

ActiveSheet.ChartObjects.Delete

' Create a new chart.

Set chtChart = Charts.Add
Set chtChart = chtChart.Location(Whe=xlLocationAsObject,
Name:="CHARTS")

With chtChart

.ChartType = xlCylinderCol

' Set data source range.

.SetSourceData Source:=Sheets("BASIC CHART DATA").Range("L11:X14"),
PlotBy:=xlRows
.HasTitle = True
.ChartTitle.Text = "Current Status"
.SeriesCollection(1).XValues = "='BASIC CHART DATA'!$M$4:$X$10"

'.SeriesCollection(1).XValues = "='BASIC CHART DATA'!$M$4:$X$10"

' The Parent property is used to set properties of the Chart.

With .Parent
.Top = Range("G3").Top
.Left = Range("G3").Left
.Width = Range("G3:R30").Width
.Height = Range("G3:R30").Height


End With

End With

ActiveChart.Legend.Select
Selection.Delete

End Sub

I tried the following code that was mentioned on here and it doesnot
appear
to do anything. DOes anyone have any ideas?

For i = 1 To ActiveChart.Legend.LegendEntries.Count
ActiveChart.Legend.LegendEntries(i).LegendKey.Sele ct

With Selection.Interior
Select Case i
Case 1
.Color = RGB(0, 51, 153)
Case 2
.Color = RGB(64, 102, 178)
Case 3
.Color = RGB(128, 153, 204)
Case 4
.Color = RGB(102, 102, 255)
Case 5
.Color = RGB(140, 140, 255)
Case 6
.Color = RGB(178, 178, 255)
Case 7
end select
Next

I hope this will help you!!!

Best regards,
Shiva

"Michael Hudston" wrote:

As a reference this is the current VBA that I am using to display the
chart.

Sub Cause_During_Corr_Acc_Click()

Dim chtChart As Chart

'Remove Existing Chart

ActiveSheet.ChartObjects.Delete

'Create a new chart.

Set chtChart = Charts.Add
Set chtChart = chtChart.Location(Whe=xlLocationAsObject,
Name:="CHART")

With chtChart

.ChartType = xlColumnClustered

'Set data source range.

.SetSourceData Source:=Sheets("BASIC CHART
DATA").Range("B17:C28"),
PlotBy:=xlRows
.HasTitle = True
.ChartTitle.Text = "Cause Defined During Corrective Action"
.Axes(xlCategory).Delete

'The Parent property is used to set properties of
'the Chart.

With .Parent
.Top = Range("D2").Top
.Left = Range("D2").Left
.Name = "chart_CDCA"
End With

End With

End Sub

"Michael Hudston" wrote:

I am creating all my charts in VBA, so they appear at a touch of a
button. I
am looking to set the following properties, and cant seem to find them
in the
help.

The Colours of the Columns in my Graph, so particular colums are always
RED,
YELLOW, GREEN, etc.

The font size of the Chart Title and Legend.