Como utilizar uma macro para adicionar legendas a pontos de dados num gráfico de dispersão xy ou num gráfico de bolhas no Excel

Traduções de Artigos Traduções de Artigos
Artigo: 213750 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

No Microsoft Excel, não existe um comando incorporado que ligue automaticamente legendas a pontos de dados num gráfico xy (dispersão) ou de bolhas. No entanto, pode criar uma macro do Microsoft Visual Basic for Applications que efectue este procedimento. Este artigo contém uma macro de exemplo que efectua esta tarefa num gráfico de dispersão XY. No entanto, o mesmo código pode ser utilizado para um gráfico de bolhas.

Mais Informação

A Microsoft fornece exemplos de programação apenas a título informativo, sem garantia expressa ou implícita, incluindo, sem limitação, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador conhece a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. O código de exemplo deste artigo pressupõe que os dados e as legendas associadas estão dispostos numa folha de cálculo de acordo com o seguinte formato:
  • A primeira coluna contém os rótulos de dados.
  • A segunda coluna contém os valores x para o gráfico xy (dispersão).
  • A terceira coluna e subsequentes contêm os valores y para o gráfico xy (dispersão).
NOTA: embora o exemplo fornecido contenha apenas uma coluna de dados para valores y, pode utilizar mais do que uma série de dados.

Para utilizar as macros deste artigo, crie um gráfico utilizando os seguintes dados:
   A1: Legendas      B1: Valores X   C1: Valores Y
   A2: PontoDados1   B2: 12          C2: 5
   A3: PontoDados2   B3:  9          C3: 7
   A4: PontoDados3   B4:  5          C4: 3
   A5: PontoDados4   B5:  4          C5: 8
   A6: PontoDados5   B6:  1          C6: 4
NOTA: a tabela não deverá conter colunas em branco e a coluna que contém os rótulos de dados não deverá ser separada da coluna que contém os valores x. As legendas e valores têm de ser apresentados exactamente no formato descrito neste artigo. (A célula no canto superior esquerdo não tem de ser a célula A1.)

Para ligar legendas a pontos de dados num gráfico xy (dispersão), siga estes passos:
  1. Na folha de cálculo que contém os dados de exemplo, seleccione o intervalo de células B1:C6.
  2. No Microsoft Office Excel 2003, e em versões anteriores do Excel, siga estes passos:
    1. Clique em Gráfico no menu Inserir.
    2. Na caixa de diálogo Assistente de Gráficos ? Passo 1 de 4 - Tipo de gráfico, clique no separador Tipos-padrão. Em Tipo de gráfico, clique em Dispersão (XY) e clique em Seguinte.
    3. Na caixa de diálogo Assistente de Gráficos ? Passo 2 de 4 - Dados de origem do gráfico, clique no separador Intervalo de dados. Em Série em, clique em Colunas e clique em Seguinte.
    4. Na caixa de diálogo Assistente de Gráficos - Passo 3 de 4 - Opções do gráfico, clique em Seguinte.
    5. Na caixa de diálogo Assistente de Gráficos - Passo 4 de 4 - Localização do gráfico, clique na opção Como nova folha e clique em Concluir.
    No Microsoft Office Excel 2007, siga estes passos:
    1. Clique no separador Inserir, clique em Dispersão no grupo Gráficos e seleccione um tipo.
    2. No separador Estrutura, clique em Mover Gráfico no grupo Localização, clique em Nova folha e clique em OK.
  3. Prima ALT+F11 para iniciar o Editor do Visual Basic.
  4. No menu Insert, clique em Module.
  5. Escreva o seguinte código de exemplo na folha do módulo:
    Sub AttachLabelsToPoints()
    
       'Dimension variables.
       Dim Counter As Integer, ChartName As String, xVals As String
    
       ' Disable screen updating while the subroutine is run.
       Application.ScreenUpdating = False
    
       'Store the formula for the first series in "xVals".
       xVals = ActiveChart.SeriesCollection(1).Formula
    
       'Extract the range for the data from xVals.
       xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
          Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
       xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
       Do While Left(xVals, 1) = ","
          xVals = Mid(xVals, 2)
       Loop
    
       'Attach a label to each data point in the chart.
       For Counter = 1 To Range(xVals).Cells.Count
         ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
             True
          ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
             Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
       Next Counter
    
    End Sub
  6. Prima ALT+ Q para regressar ao Excel.
  7. Mude para a folha de gráfico.
  8. No Excel 2003, e em versões anteriores do Excel, aponte para Macro no menu Ferramentas e clique em Macros. Clique em AttachLabelsToPoints e clique em Executar para executar a macro.

    No Excel 2007, clique no separador Programador, clique em Macros no grupo Código, seleccione AttachLabelsToPoints e clique em Executar.
A macro liga as legendas das células A2:A6 aos pontos de dados no gráfico.

Propriedades

Artigo: 213750 - Última revisão: 27 de novembro de 2007 - Revisão: 4.1
A informação contida neste artigo aplica-se a:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel X para Macintosh
  • Microsoft Excel 2001 para Macintosh
  • Microsoft Excel 98 para Macintosh
Palavras-chave: 
kbhowto kbinfo kbchart kbprogramming kbdtacode KB213750

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com