Página 1 de 1

Formatações em Gráfico Dinâmico

Enviado: 07 Abr 2016 às 08:48
por Isaiasdd
Olá,

Estou tendo dificuldades com formatações em gráficos dinâmicos.

Ex: Quando altero a formação do rotulo de dados em uma série, como replicar em outras séries?

Em gráfico com 2 ou 3 séries fica fácil fazer série por série, mas tenho gráficos que tem mais de 100 séries, e ficar passando uma por uma não é uma tarefa fácil...

Formatações em Gráfico Dinâmico

Enviado: 07 Abr 2016 às 09:14
por Kledison
Bom dia Isaias,

uma dica é você formatar como moeda na tabela dinâmica antes de fazer o gráfico, fica mais fácil.

Att

Re: Formatações em Gráfico Dinâmico

Enviado: 07 Abr 2016 às 13:51
por Isaiasdd
Kledison escreveu:Bom dia Isaias,

uma dica é você formatar como moeda na tabela dinâmica antes de fazer o gráfico, fica mais fácil.

Att
Nem tinha pensado em formatar na tabela. Dessa maneira funciona quando a formatação é simples, por exemplo formatar como moeda, já para formatações um pouco mais complexas como por exemplo colocar em negrito ou inclinar o rotulo é complicado fazer pela tabela.

Como necessito de formatações um pouco mais elaboradas nos gráficos, acabei por criar uma função em VBA.
Código: Selecionar todos
Sub FormatarGraficos(sheet As String)
    Application.ScreenUpdating = False
    Dim graficos As ChartObject
    Dim numeroSeries As Integer
    Dim i As Integer
    
    For Each graficos In Sheets(sheet).ChartObjects
        graficos.Activate
        If ActiveChart.SeriesCollection.Count > 0 And ActiveChart.ChartType = xlColumnClustered Then
            ActiveChart.SetElement (msoElementDataLabelOutSideEnd)
            numeroSeries = ActiveChart.SeriesCollection.Count
            If numeroSeries >= 1 Then
                For i = 1 To numeroSeries Step 1
                    ActiveChart.SeriesCollection(i).DataLabels.Orientation = xlUpward
                    ActiveChart.SeriesCollection(i).DataLabels.Select
                    Selection.NumberFormat = "#.##0;#.##0;"
                    Selection.Orientation = xlUpward
                Next i
            End If
        End If
    Next graficos
    Range("A1").Select  'para tirar a seleção do último gráfico da planilha
    Application.ScreenUpdating = True
End Sub
Neste trecho está simples, apenas a formatação do número e a inclinação do mesmo.