Gráfico no Excel com comentários

Planilha Excel de Controle de despesas e manutenção de veículos
Planilha Excel de Controle de despesas e manutenção de veículos
12 de dezembro de 2013
Abrir vários arquivos com a mesma senha Excel
Abrir vários arquivos com a mesma senha Excel
12 de janeiro de 2014

Objetivo: Demonstrar como criar um gráfico no Excel com comentários ao clicar nas séries.

Gráfico com comentáriosEsta funcionalidade do Excel é criada utilizando o VBA, e permite que ao clicar com o botão esquerdo do mouse em qualquer das barras o gráfico exiba o comentário destinado para aquela série.

No caso do gráfico foram colocados além do comentário a descrição da região, o valor e um comentário, esta funcionalidade é útil para gráficos que são utilizados em apresentações e não são dinâmicos.

 Para isso o primeiro passo é criar a estrutura que deve seguir a seguinte:

Gráfico com comentários 2

Perceba que os dados estão montados 3 linhas abaixo dos valores, e todos os dados da tabela de valores que serve ao gráfico possuem comentários na segunda tabela.

A fórmula utilizada na tabela 2 é a seguinte:

=B$1&”, “&$A2&” = “&TEXTO(B2;”R$ 0.000″)&CARACT(10)&” Mudança de gerência”

  • B$1: Temos a descrição da coluna, no caso Norte;
  • $A2: A linha a que se refere o dado, no caso Janeiro;
  • TEXTO(B2;”R$ 0.000″): B2 se refere ao valor, e a função TEXTO realiza a formatação da informação dentro da mesma, no caso é então formatado para R$ 3.245.151 o valor referente a região Norte e ao mês de Janeiro;
  • CARACT(10): Utiliza um caractere conforme o valor entre parênteses, no caso o 10 se refere ao ENTER, fazendo com que quebre a linha;
  • ” Mudança de gerência”: Exibe um comentário sobre o valor apresentado para a linha e coluna.

Foram criados dois botões:

Gráfico com comentários 3O primeiro botão liga a funcionalidade de exibir os comentários no gráfico e a segunda desliga esta funcionalidade conforme a necessidade.

O evento MyChart_MouseMove está ligado a um objeto Chart, que tem por finalidade fazer com que ao movimentar o mouse sobre as colunas do gráfico o mesmo identifique e exiba  o comentário descrito na segunda tabela.

Option Explicit
Public WithEvents MyChart As Chart

Private Sub MyChart_MouseMove(ByVal Button As Long, ByVal Shift As Long, _
  ByVal x As Long, ByVal y As Long)
    Dim ElementId As Long
    Dim arg1 As Long, arg2 As Long
    Dim NewText As String
    'On Error Resume Next
    MyChart.GetChartElement x, y, ElementId, arg1, arg2
    If ElementId = xlSeries Then
        MyChart.Shapes(1).TextFrame.Characters.Text = _
          Sheets("Planilha").Range("Comments").Offset(arg2, arg1)
        MyChart.Shapes(1).Visible = msoCTrue
    Else
        MyChart.Shapes(1).Visible = msoFalse
    End If

End Sub

O próximo código é acionado para conectar e desconectar o gráfico com o evento MyChart_MouseMove:

Dim myClassModule As New Class1

Sub ConnectChart()
    Application.ShowChartTipNames = False
    Application.ShowChartTipValues = False
    Set myClassModule.MyChart = ActiveSheet.ChartObjects(1).Chart
    ActiveSheet.ChartObjects(1).Activate
End Sub

Sub DisconnectChart()
    Application.ShowChartTipNames = True
    Application.ShowChartTipValues = True
    Set myClassModule = Nothing
    Range("A1").Select
End Sub

Para testar clique no botão Conectar e passe com o mouse sobre o gráfico para verificar a funcionalidade.

A funcionalidade foi criada para um gráfico, mas poderia ser colocada para tantos quantos forem necessários, só é necessário alterar o ChartsObjects de 1 para 2, 3, 4, conforme a quantidade de gráficos.

Set myClassModule.MyChart = ActiveSheet.ChartObjects(1).Chart
ActiveSheet.ChartObjects(1).Activate

Esta planilha foi baseada na planilha enviada por mgrifo no fórum de Excel Planilhando em: http://www.planilhando.com.br/forum/viewtopic.php?f=28&t=9924.

Abraço

Marcos Rieper

12 Comments

  1. Neat blog! Is your theme custom made before did you download it from somewhere? A propose approximating yours with a few uncomplicated tweeks would truly achieve my blog endure outdated. Delight assent to me know where you got your design. Be thankful for it

  2. alexandre disse:

    Marcos,

    há como usar o evento MouseMove para quando passar o mouse por cima de um Shape por exemplo, ou uma figura ela mudar de cor?

  3. Elizandro disse:

    Preciso saber o valor de Y para x=0 de uma curva de tendencia, tem como fazer isto?

    gracias

  4. Pablo Rocha disse:

    Boa noite.

    Preciso saber como criar um gráfico tipo dispersão xy de tal forma que ele atualize automaticamente no próprio formulário, ou seja, na medida que vou digitando os valores nos textbox o gráfico vai sendo gerado no próprio formulário ao invés de ter que enviar os valores do formulário para a planilha excel para então ser gerado gráfico.

    Grato.

  5. Pablo Rocha disse:

    Boa noite novamente,

    Complementando o comentário anterior; uma vez que o formulário está criado e funcionando bem, como faço para utilizá-lo em uma apresentação no power point?

  6. MARCO disse:

    Boa noite
    ha maneira do comentario aparecer por cima da barra em vez de no canto do grafico?
    muito agradecido

  7. Amigo, uma excelente tarde!

    Gostaria de saber se consigo exportar esse gráfico com comentário para o powerpoint?

    Eu tentei colando direto no powerpoint, mas quando aplico no modo apresentação os comentários não aparecem, consegue me ajudar?

    Abs,

  8. Marcos, fantástico seu post, eh exatamente o que preciso para finalizar um relatório que tenho.
    Fiquei apenas com uma dúvida, o tamanho do comentário que irá aparecer, onde posso alterar o tamanho do objeto? Adicionei mais comentários na mesma coluna, e este aparece fora do retângulo.

    Obrigado.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.