Macro per estrarre dati da un grafico in Excel

Traduzione articoli Traduzione articoli
Identificativo articolo: 300643 - Visualizza i prodotti a cui si riferisce l?articolo.
Per la versione di questo articolo relativa a Microsoft Excel 2000, vedere 213814.
Per la versione di questo articolo relativa a Microsoft Excel 98 e versione precedente, vedere 137016.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In Microsoft Excel è possibile recuperare i dati da un grafico anche quando questi si trovano in un foglio di lavoro o in una cartella di lavoro esterna. Questa funzionalità può risultare utile nelle situazioni in cui il grafico è stato creato da un altro file o è collegato a un altro file non disponibile o che è stato in qualche modo danneggiato. Se i dati di origine di un grafico sono andati persi, è comunque possibile recuperarli dal grafico utilizzando una macro di Microsoft Visual Basic, Applications Edition.

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle routine. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalità di una particolare routine, ma in nessun caso a modificare questi esempi per fornire funzionalità aggiuntive o a creare routine atte a soddisfare specifiche esigenze.

Con il seguente esempio di macro i dati di origine del grafico vengono inseriti in un foglio di lavoro denominato "ChartData" nella cartella di lavoro attiva, a partire dalla prima colonna e dalla prima riga.
  1. In un modulo immettere il codice macro riportato di seguito:
    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. Inserire un nuovo foglio di lavoro nella cartella di lavoro e rinominarlo "ChartData" (senza virgolette).
  3. Selezionare il grafico dal quale si desidera estrarre i valori dei dati sottostanti.

    NOTA: il grafico può essere incorporato in un foglio di lavoro o essere incluso in un foglio grafico distinto.
  4. Eseguire la macro GetChartValues.

    I dati del grafico vengono inseriti nel foglio di lavoro "ChartData".

Procedura per collegare il grafico ai dati recuperati

Per consentire l'interattività del grafico con i dati recuperati, è necessario collegarlo al nuovo foglio dati anziché mantenere i collegamenti alla cartella di lavoro mancante o danneggiata.
  1. Selezionare il grafico, quindi fare clic su una serie per individuare il nome del foglio a cui è collegato il grafico nella cartella di lavoro danneggiata o mancante. Il nome del foglio viene visualizzato nella formula della serie nella barra della formula.

    NOTA: il nome del foglio potrebbe seguire il nome della cartella di lavoro, che è racchiuso tra parentesi quadre, ad esempio "[Cartella1]", e precedere il punto esclamativo "!" (o apostrofo e punto esclamativo "'!") che indica l'inizio di un riferimento di cella. Il nome del foglio include solo i caratteri tra il simbolo di parentesi quadra chiusa "]" e il punto esclamativo "!" (o apostrofo e punto esclamativo). Ignorare l'eventuale apostrofo presente immediatamente prima del punto esclamativo, in quanto non è possibile utilizzare un apostrofo come ultimo carattere nel nome di un foglio.
  2. Fare doppio clic sulla scheda del nuovo foglio denominata ChartData.
  3. Sovrascrivere il nome "ChartData" evidenziato con il nome del foglio originale rilevato nel passaggio 1, quindi premere INVIO. Questo nome deve essere lo stesso nome del foglio dalla cartella di lavoro danneggiata o mancante.
  4. Se questo file non è stato salvato con il grafico e il foglio dati, procedere al salvataggio.
  5. In Excel 2003 o Excel 2002 scegliere Collegamenti dal menu Modifica, quindi fare clic su Cambia origine.

    In Excel 2007 fare clic sulla scheda Dati, fare clic su Modifica collegamenti nel gruppo Connessioni, quindi fare clic su Cambia origine.
  6. Nella casella File di origine selezionare il collegamento da cambiare, quindi fare clic su Cambia origine.
  7. Nella finestra di dialogo Cambia collegamenti selezionare il nuovo file con i dati recuperati e il grafico, quindi scegliere OK.
  8. Se viene visualizzato un messaggio di errore analogo al seguente:
    La formula contiene un riferimento esterno non valido a una cartella di lavoro.
    è probabile che il nome del foglio digitato nel passaggio 3 non corrisponda all'originale. Tornare al passaggio 1.
  9. La casella File di origine potrebbe essere vuota e ciò indica che tutti i collegamenti puntano al file attivo anziché al file mancante o danneggiato. Scegliere Chiudi.
Il grafico fa riferimento e interagisce ora con i dati recuperati nel foglio rinominato nella cartella di lavoro attiva.

Proprietà

Identificativo articolo: 300643 - Ultima modifica: mercoledì 26 marzo 2008 - Revisione: 4.4
Le informazioni in questo articolo si applicano a
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Chiavi: 
kbdtacode kbhowto kbprogramming KB300643
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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