Como usar uma macro para adicionar rótulos nos pontos de dados em um gráfico de dispersão xy ou em um gráfico de bolhas no Excel

Traduções deste artigo Traduções deste artigo
ID do artigo: 213750 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

No Microsoft Excel, não há um comando interno que anexe, automaticamente, as legendas nos pontos de dados em um gráfico xy (dispersão) ou em um gráfico de bolhas. Entretanto, é possível criar uma macro no Microsoft Visual Basic for Applications para fazer isso. Esse artigo contém um modelo de macro que realiza essa tarefa em um Gráfico de dispersão (xy) No entanto, o mesmo código pode ser usado para um Gráfico de bolhas.

Mais Informações

A Microsoft fornece exemplos de programação apenas por questões ilustrativas, sem garantias expressas ou implícitas. Isto inclui, mas não está limitado a garantias implícitas de comercialização ou adequação a um determinado propósito. Este artigo pressupõe que você conhece a linguagem de programação demonstrada e também as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudá-lo, fornecendo a explicação da funcionalidade de um determinado procedimento. Mas não modificarão estes exemplos para fornecer funcionalidades adicionais ou construir procedimentos específicos para atender às suas necessidades específicas. Neste artigo, o código de exemplo pressupõe que os dados e rótulos associados são organizados em uma planilha de acordo com o formato a seguir:
  • A primeira coluna contém os rótulos de dados.
  • A segunda coluna contém os valores de x para o gráfico xy (dispersão).
  • A terceira coluna e as colunas subseqüentes contêm os valores de y para o gráfico xy (dispersão).
OBSERVAÇÃO: Embora o exemplo fornecido contenha apenas uma coluna de dados para os valores de y, é possível usar mais de uma série de dados.

Para usar as macros nesse artigo, crie um gráfico usando os dados a seguir:
   R1: Rótulos       B1: Valores de X   C1: Valores de Y
   R2: DataPoint1   B2: 12          C2: 5
   R3: DataPoint2   B3:  9          C3: 7
   R4: DataPoint3   B4:  5          C4: 3
   R5: DataPoint4   B5:  4          C5: 8
   R6: DataPoint5   B6:  1          C6: 4
OBSERVAÇÃO: A tabela não deve conter colunas vazias e a coluna com os rótulos de dados não deve ser separada da coluna que contém os valores de x. O layout dos rótulos e valores deve ser exatamente igual ao formato descrito neste artigo. (A célula do canto superior esquerdo não precisa ser a célula A1.)

Para anexar legendas nos pontos de dados em um gráfico xy (dispersão), siga essas etapas:
  1. Na planilha que contém os dados de exemplo, selecione o intervalo de célula B1:C6.
  2. No Microsoft Office Excel 2003 e em versões anteriores do Excel, siga essas etapas:
    1. Clique em Gráfico no menu Inserir.
    2. Na caixa de diálogo Assistente de gráfico - Etapa 1 de 4 - tipo de gráfico, clique na guia Tipos padrão. Em Tipo de gráfico, clique em Dispersão (XY) e clique em Avançar.
    3. Na caixa de diálogo Assistente de gráfico - etapa 2 de 4 - dados de origem , clique na guia Intervalo de dados. Em Séries em, clique em Colunas e clique em Avançar.
    4. Na caixa de diálogo Assistente de gráfico - etapa 3 de 4 - opções de gráfico, clique na guia Avançar.
    5. Na caixa de diálogo Assistente de gráfico - etapa 4 de 4 - Local do gráfico clique na opção Como nova planilha e clique em Concluir.
    No Microsoft Office Excel 2007, execute as seguintes etapas:
    1. Clique na guia Inserir, clique em Dispersão no grupo Gráficos e selecione um tipo.
    2. Na guia Design clique em Mover gráfico no grupo Local, clique em Nova planilha e clique em OK.
  3. Pressione ALT+F11 para iniciar o Editor do Visual Basic.
  4. No menu Inserir, clique em Módulo.
  5. Digite o seguinte código de exemplo na planilha de 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. Pressione ALT+Q para voltar ao Excel.
  7. Alterne para a planilha do 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 na guia Desenvolvedor, clique em Macros no grupo Código, selecione AttachLabelsToPoints e clique em Executar.
A macro anexa os rótulos nas células A2:A6 para os pontos de dados no gráfico.

Propriedades

ID do artigo: 213750 - Última revisão: segunda-feira, 3 de dezembro 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 Mac
  • Microsoft Excel 98 for 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