Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Qualquer dúvida sobre gráficos, como criá-los, alterar eixos principais e secundários, adicionar/remover categorias e séries, legendas e rótulos, etc.
  • Avatar do usuário
Por Isaiasdd
Posts
#9499
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...
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Kledison
Avatar
#9502
Bom dia Isaias,

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

Att
Por Isaiasdd
Posts
#9529
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.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord