Riepilogo
In Microsoft Excel non esiste un comando predefinito che collega automaticamente etichette di testo a punti dati in un grafico a dispersione (XY) o a bolle. Tuttavia, è possibile creare una macro Visual Basic, Applications Edition Microsoft che esegue questa operazione. Questo articolo contiene una macro di esempio che esegue questa attività in un grafico a dispersione XY. Tuttavia, lo stesso codice può essere usato per un grafico a bolle.
Ulteriori informazioni
Microsoft fornisce esempi di programmazione solo per illustrazioni, senza garanzie espresse o implicite. Sono incluse, a titolo esemplifiche, le garanzie implicite di commerciabilità o idoneità per uno scopo specifico. In questo articolo si presuppone che si abbia familiarità con il linguaggio di programmazione illustrato e con gli strumenti usati per creare ed eseguire il debug delle routine. I tecnici del supporto Microsoft possono spiegare le funzionalità di una particolare procedura. Tuttavia, non modificheranno questi esempi per fornire funzionalità aggiunte o creare procedure per soddisfare i requisiti specifici. Il codice di esempio in questo articolo presuppone che i dati e le etichette associate siano disposti in un foglio di lavoro in base al formato seguente:
-
La prima colonna contiene le etichette dati.
-
La seconda colonna contiene i valori x per il grafico a dispersione (xy).
-
La terza colonna e le colonne successive contengono i valori y per il grafico xy (a dispersione).
NOTA: anche se l'esempio fornito contiene una sola colonna di dati per i valori y, è possibile usare più serie di dati.Per usare le macro in questo articolo, creare un grafico usando i dati seguenti: A1: Etichette B1: Valori X C1: Valori Y A2: DataPoint1 B2: 12 C2: 5 A3: DataPoint2 B3: 9 C3: 7 A4: DataPoint3 B4: 5 C4: 3 A5: DataPoint4 B5: 4 C5: 8 A6: DataPoint5 B6: 1 C6: 4 NOTA: la tabella non deve contenere colonne vuote e la colonna che contiene le etichette dati non deve essere separata dalla colonna che contiene i valori x. Le etichette e i valori devono essere disposti esattamente nel formato descritto in questo articolo. La cella superiore sinistra non deve necessariamente essere la cella A1. Per allegare etichette di testo a punti dati in un grafico a dispersione (XY), seguire questa procedura:
-
Nel foglio di lavoro contenente i dati di esempio selezionare l'intervallo di celle B1:C6.
-
In Microsoft Office Excel 2003 e nelle versioni precedenti di Excel seguire questa procedura:
-
Fare clic su Grafico nel menu Inserisci.
-
Nella finestra di dialogo Creazione guidata grafico - Passaggio 1 di 4 - Tipo di grafico fare clic sulla scheda Standard Tipi. In Tipo di grafico fare clic su XY (Dispersione) e quindi su Avanti.
-
Nella finestra di dialogo Creazione guidata Grafico - Passaggio 2 di 4 - Dati origine grafico fare clic sulla scheda Intervallo dati. In Serie in fare clic su Colonne e quindi su Avanti.
-
Nella finestra di dialogo Creazione guidata grafico - Passaggio 3 di 4 - Opzioni grafico fare clic su Avanti.
-
Nella finestra di dialogo Creazione guidata grafico - Passaggio 4 di 4 - Posizione grafico fare clic sull'opzione Come nuovo foglio e quindi su Fine.
In Microsoft Office Excel 2007, attenersi alla procedura seguente:
-
Fare clic sulla scheda Inserisci , scegliere Dispersione nel gruppo Grafici e quindi selezionare un tipo.
-
Nella scheda Progettazione fare clic su Sposta grafico nel gruppo Posizione , fare clic su Nuovo foglio e quindi su OK.
-
-
Premere ALT+F11 per avviare Visual Basic Editor.
-
Scegliere Modulo dal menu Inserisci.
-
Digitare il codice di esempio seguente nel foglio modulo:
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 -
Premere ALT+Q per tornare a Excel.
-
Passare al foglio grafico.
-
In Excel 2003 e nelle versioni precedenti di Excel scegliere Macro dal menu Strumenti e quindi fare clic su Macro. Fare clic su AttachLabelsToPoints e quindi su Esegui per eseguire la macro.In Excel 2007 fare clic sulla scheda Sviluppo , fare clic su Macro nel gruppo Codice , selezionare AttachLabelsToPoints e quindi fare clic su Esegui.
La macro collega le etichette nelle celle A2:A6 ai punti dati del grafico.