Notifications
Clear all

Colorir legenda do gráfico por VBA

3 Posts
2 Usuários
0 Reactions
750 Visualizações
(@dtrajano)
Posts: 2
New Member
Topic starter
 

Pessoal.

Preciso de uma ajuda para criar uma macro que escolha a cor da legenda do gráfico. Tenho vários gráficos que vou usar aqui como exemplo, nome de funcionários. Em alguns gráficos pode ter Fernando, Fábio, etc, outras pode ter só Fernando. Nem todos os funcionários estão presentes em todos os gráficos.

Preciso que em todos os gráficos o "Fernando" seja da cor vermelha e a "Fábio" em todos os gráficos que ela aparecer seja da cor azul.

Segue abaixo o código que eu já tenho, mas não está dando certo. ;(

Sub macro_grafico()
If ActiveSheet.ChartObjects("Gráfico 20").Activate Then
    ActiveChart.SeriesCollection("Fernando").Select
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 255, 0)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Fabio").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 235, 158)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Priscilla").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(204, 51, 0)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Bruna").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(49, 133, 156)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Bárbara").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(102, 0, 102)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Julio").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(195, 214, 155)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Henrique").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(204, 193, 218)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Cassiano").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(55, 96, 146)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Leandro").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(64, 49, 82)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Jorge").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(33, 89, 104)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Guilherme").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(127, 127, 127)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Lucas").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(119, 147, 60)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Pedro").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(1, 13, 255)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Sergio").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(152, 72, 7)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Gustavo").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(155, 187, 89)
        .Transparency = 0
        .Solid
    End With
ElseIf ActiveChart.SeriesCollection("Daniele").Select Then
    With Selection.Format.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(0, 0, 0)
        .Transparency = 0
        .Solid
    End With
 End If
End Sub

Agradeço muito se puderem ajudar..

 
Postado : 09/09/2017 11:13 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

DTrajano,

Boa tarde!

Anexe um arquivo exemplo, aqui mesmo no fórum, compactado com .ZIP, indicando como são seus dados e como deve ser o resultado esperado.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 09/09/2017 1:17 pm
(@dtrajano)
Posts: 2
New Member
Topic starter
 

Oi, obrigado por ajudar.

Claro, eu anexei um exemplo nesta publicação. Vou explicar mais sobre o meu problema. Veja na imagem em anexo.

Gostaria que Fabio sempre tenha uma cor laranja e Luiza não pode ser laranja em um gráfico que Fabio não existe.

Luiza precisa ter uma cor própria. Faz sentido para você?

Tks Bro :)

 
Postado : 09/09/2017 8:03 pm