Gráfico com comentário no Excel
Neste artigo você verá como criar um gráfico com comentário no Excel.
Ao passar o mouse sobre o gráfico o comentário irá ser alterado automaticamente.
Esta funcionalidade é muito útil para que você consiga apresentar um gráfico em formato de apresentação como em uma reunião ou dashboard.
Esta 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:
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:
O 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.
Download da planilha
Para realizar o download de um exemplo desta planilha pode baixar neste link abaixo. Basta clicar no botão abaixo e fazer parte do grupo do Guia do Excel.
Nele você receberá e-mails semanais com novos artigos, dicas e ofertas de treinamentos e planilhas que irão te ajudar na sua carreira e trabalho.
Baixe a planilhaCurso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: