Creazione di grafici in VBA (Microsoft Excel)
Excel è molto utile per creare grafici dai dati in un foglio di lavoro. Cosa succede se si desidera creare un grafico direttamente da VBA, senza utilizzare alcun dato in un foglio di lavoro? Puoi farlo “ingannando” Excel facendogli credere che stia lavorando con le informazioni di un foglio di lavoro e quindi fornendo le tue.
La seguente macro illustra questo concetto:
Sub MakeChart() 'Add a new chart Charts.Add 'Set the dummy data range for the chart ActiveChart.SetSourceData Sheets("Sheet1").Range("a1:d4"), _ PlotBy:=xlColumns 'Manually set the values for the data series ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(""First Data"",{""a"",""b"",""c"",""d""},{2,3,4,5},1)" ActiveChart.SeriesCollection(2).Formula = _ "=SERIES(""Second Data"",{""a"",""b"",""c"",""d""},{6,7,8,9},2)" ActiveChart.SeriesCollection(3).Formula = _ "=SERIES(""Third Data"",{""a"",""b"",""c"",""d""},{10,11,12,13},3)" End Sub
I commenti in questo esempio spiegano cosa sta succedendo per ogni passaggio.
Quando si imposta l’intervallo di dati fittizio, il metodo SetSourceData presuppone che l’intervallo si trovi in un foglio di lavoro denominato Sheet1. Se non hai un foglio di questo tipo nella tua cartella di lavoro, devi modificare il comando di conseguenza.
Successivamente, quando si impostano manualmente i valori per le serie di dati, il comando SERIES viene utilizzato per specificare l’etichetta per la serie (Primo dato, Secondo dato e Terzo dato), l’array di etichette di categoria (a, b, ce d in tutte le serie), l’array di valori per la serie e un numero che specifica quale numero di serie rappresenta.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2622) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: