Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Mostrando postagens com marcador VBA Excel Basic. Mostrar todas as postagens
Mostrando postagens com marcador VBA Excel Basic. Mostrar todas as postagens

VBA Excel Basic - Gráfico - Alterando todas as Fontes de todos os Objetos em todos os Gráficos

VBA Excel Basic - Gráfico - Alterando todas as Fontes de todos os Objetos em todos os Gráficos



No desenvolvimento e implementação de Dashboards sempre precisaremos aproveitar a construção de sets (conjuntos) de gráficos previamente desenvolvidos. Geralmente estes foram feitos por pessoas que, apesar de saberem criar gráficos, desconhecem alguns aspectos importantes da sua manutenção e criação.

Existe um motivo para mantermos todas as fontes dentro de um gráfico sempre como o mesmo tipo. Qual?

Velocidade

Sim, quanto mais fontes diferentes estiverem sendo usadas num gráfico, mais lento este será carregado. E se for um conjunto com diversos gráficos então, isso será multiplicado, isso quando não trouxer transtornos a atualização.

DICA: Mantenha todas as fontes, de todos os objetos dentro de um gráfico, com o mesmo tipo.

Mas ... Como fazemos? Que código devo usar?

Bem, o código abaixo, além de colocar todas as fontes dentro de código, num mesmo tipo, ainda permite colocar os títulos e os valores das séries neles como negrito. Divirta-se!


Sub ChangeAllFontsAllCharts()
    '      Author: André Luiz Bernardes - A&A - In Any Place - andreluizbernardes@gmail.com
    '        Date: 16/05/2016 - 06:45
    ' Application: Field Force Dashboard Analysis® - © A&A - In Any Place 2016, Inc. Todos os direitos reservados.
    '     Company: © A&A - In Any Place, Inc. Todos os direitos reservados.
    '     Purpose: Change all fonts in all charts in activesheet
    Dim Charts As ChartObject
    Dim chSeries As Series
    Dim nFontName As String
    Let nFontName = "Arial"
    For Each Charts In ActiveSheet.ChartObjects
        Debug.Print "Nome do Gráfico:" & Charts.Name
        Charts.Activate
        ' All chart Fonts.
        With ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font
            Let .Name = nFontName
            'Let .Size = 14
        End With
        ' Title Fonts.
        'Let ActiveChart.ChartTitle.Font.Name = nFontName
        Let ActiveChart.ChartTitle.Font.FontStyle = "Bold"
        ' Series Fonts.
        For Each chSeries In ActiveChart.SeriesCollection
            Debug.Print "Nome da Série:" & ActiveChart.Name
            With chSeries.DataLabels.Font
                'Let .Name = nFontName
                Let .Size = 12
                Let .FontStyle = "Bold"
            End With
        Next
    Next Charts
End Sub
A coleção Charts contém um objeto Chart para cada planilha de gráfico em uma pasta de trabalho. Use Charts (índice), onde índice é o número ou o nome do índice da planilha de gráfico, para retornar um único objeto Chart. O número do índice do gráfico representa a posição da planilha do gráfico na barra da guia da pasta de trabalho. Charts (1) é o primeiro gráfico (mais à esquerda) na pasta de trabalho; Charts (Charts.Count) é o último (mais à direita). Todas as planilhas de gráfico estão incluídas na contagem do índice, mesmo se estiverem ocultas. O nome da planilha de gráfica é mostrado na guia da pasta de trabalho para o gráfico. Use a propriedade Name para definir ou retornar o nome do gráfico.

O objeto Chart também é membro da coleção Sheets, que contém todas as planilhas na pasta de trabalho (planilhas de gráfico e planilhas). Use Sheets (índice), onde índice é o número ou o nome do índice da planilha, para retornar uma única planilha.

Quando um gráfico estiver no objeto ativo, poderá usar a propriedade ActiveChart para fazer referência a ele. Uma planilha de gráfico será ativa se o usuário a tiver selecionado ou se ela tiver sido ativada com o método Activate do objeto Chart ou com o método Activate do objeto ChartObject. 

Um gráfico interno será ativo caso o usuário o tenha selecionado ou se o objeto ChartObject no qual ele está contido tiver sido ativado com o método Activate.

O uso da propriedade ActiveChart permite que você escreva código do Visual Basic que possa fazer referência a um gráfico interno ou a uma planilha de gráfico (o que estiver ativo).


Quando uma planilha de gráfico estiver na planilha ativa, você poderá usar a propriedade ActiveSheet para fazer referência a ela.

MSDN SAMPLES



eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine