Macro para extrair dados de um gráfico no Excel

Traduções de Artigos Traduções de Artigos
Artigo: 300643 - Ver produtos para os quais este artigo se aplica.
Para obter uma versão de Microsoft Excel 2000 deste artigo, consulte 213814.
Para obter uma Microsoft Excel 98 e versão anterior deste artigo, consulte 137016.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

No Microsoft Excel, pode obter dados de um gráfico, mesmo quando os dados numa folha de cálculo externa ou livro. Isto é útil em situações em que o gráfico foi criado a partir de ou ligado a outro ficheiro que não está disponível ou que ficou danificado de alguma forma. Quando os dados de origem de um gráfico são perdidos, os dados podem ainda ser obtidos do gráfico propriamente dito, utilizando um Microsoft Visual Basic para aplicações de macro.

Mais Informação

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

A seguinte macro de exemplo coloca dados de origem do gráfico numa folha de cálculo chamada "ChartData" no livro activo, início na primeira coluna e primeira linha.
  1. Introduza o código de macro seguinte numa folha de módulo:
    Sub GetChartValues()
       Dim NumberOfRows As Integer
       Dim X As Object
       Counter = 2
    
       ' Calculate the number of rows of data.
       NumberOfRows = UBound(ActiveChart.SeriesCollection(1).Values)
    
       Worksheets("ChartData").Cells(1, 1) = "X Values"
    
       ' Write x-axis values to worksheet.
       With Worksheets("ChartData")
          .Range(.Cells(2, 1), _
          .Cells(NumberOfRows + 1, 1)) = _
          Application.Transpose(ActiveChart.SeriesCollection(1).XValues)
       End With
    
       ' Loop through all series in the chart and write their values to
       ' the worksheet.
       For Each X In ActiveChart.SeriesCollection
          Worksheets("ChartData").Cells(1, Counter) = X.Name
    
          With Worksheets("ChartData")
             .Range(.Cells(2, Counter), _
             .Cells(NumberOfRows + 1, Counter)) = _
             Application.Transpose(X.Values)
          End With
    
          Counter = Counter + 1
       Next
    
    End Sub
    					
  2. Inserir uma nova folha de cálculo no livro e mude o nome para "ChartData" (sem as aspas).
  3. Seleccione o gráfico a partir do qual pretende extrair os valores de dados subjacente.

    Nota : O gráfico pode estar incorporado numa folha de cálculo ou numa folha de gráfico separada.
  4. Execute a macro GetChartValues .

    Os dados do gráfico são colocados na folha de cálculo "ChartData".

Passos para ligar o gráfico para os dados recuperados

Para que o gráfico ser interactivo com os dados recuperados, terá de ligar o gráfico para a nova folha de dados em vez de manter as hiperligações para o livro em falta ou danificado.
  1. Seleccione o gráfico e, faça clique sobre uma série de dados para localizar o nome da folha aos quais o gráfico está ligado no livro em falta ou danificado. O nome da folha aparece na fórmula série na barra de fórmulas.

    Nota : O nome da folha pode seguir o nome do livro, que está entre parênteses rectos como "[Livro1]," e precede o ponto de exclamação "!" (ou apóstrofe e ponto de exclamação "'!") indica que o início de uma referência de célula. O nome da folha inclui apenas os caracteres entre o símbolo de Parêntese recto fechado "]" e o ponto de exclamação (ou apóstrofe e ponto de exclamação). Deixe fora qualquer apóstrofe caso se trate de imediatamente antes da marca de exclamação, porque um apóstrofe não pode ser o último carácter num nome de folha.
  2. Faça duplo clique no separador da nova folha chamada ChartData .
  3. Escreva o nome original da folha do passo 1 sobre realçado "ChartData" e prima ENTER. Este nome tem de ser igual ao nome folha do livro danificado ou em falta.
  4. Se não guardou este ficheiro com a folha de gráfico e dos dados, guarde o ficheiro.
  5. No Excel 2003 ou Excel 2002, clique em ligações no menu Editar e, em seguida, clique em Alterar origem .

    No Excel 2007, clique no separador dados , clique em Editar ligações no grupo Connenctions e, em seguida, clique em Alterar origem .
  6. Na caixa Ficheiro de origem , seleccione a hiperligação para alterar e, em seguida, clique em Alterar origem .
  7. Na caixa de diálogo Alterar ligações , seleccione o novo ficheiro com os dados recuperados e o gráfico e, em seguida, clique em OK .
  8. Se receber a seguinte mensagem de erro
    A fórmula contém uma referência externa inválida para uma folha de cálculo.
    é provável que o nome da folha que introduziu no passo 3 não é o mesmo que o original. Regressar ao passo 1.
  9. A caixa de Ficheiro de origem agora poderá estar em branco. Isto indica que todas as ligações apontam para o ficheiro activo em vez do ficheiro em falta ou danificado. Clique em Fechar .
O gráfico agora referencia e interage com os dados recuperados na folha com o novo nome no livro activo.

Propriedades

Artigo: 300643 - Última revisão: 31 de janeiro 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
Palavras-chave: 
kbmt kbdtacode kbhowto kbprogramming KB300643 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 300643

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