Sub Set_Chart_Titles()
Dim ws As Worksheet
Dim ch As ChartObject
Dim Fnt As String
Dim FntSz As Double
Dim FntR As Integer
Dim FntG As Integer
Dim FntB As Integer
Fnt = "Arial" 'Set Font type
FntSz = 18 'Set Font Size
FntR = 25 'Set Font Color Red
FntG = 100 'Set Font Color Green
FntB = 50 'Set Font Color Blue
For Each ws In Worksheets
For Each ch In ws.ChartObjects
ch.Activate
ch.Chart.ChartTitle.Select
Selection.Format.TextFrame2.TextRange.Font.Name = Fnt
Selection.Format.TextFrame2.TextRange.Font.Size = FntSz
With Selection.Format.TextFrame2.TextRange.Font.Fill
.ForeColor.RGB = RGB(FntR, FntG, FntB)
.Transparency = 0
.Solid
End With
Next ch
Next ws
End Sub
Dim typelist As Variant, mr As Variant
Dim ct As Integer
typelist = Array(xl3DPie, xl3DPieExploded, xlPie, xlPieExploded, xlPieOfPie)
ct = ch.Chart.ChartType
On Error Resume Next
mr = Null
mr = Application.WorksheetFunction.Match(ct, typelist, 0)
On Error GoTo 0
If IsNull(mr) Then
ch.Chart.Axes(xlCategory).TickLabels.Font.Size = 8
End If