Programmazione grafici in Excel VBA
Di seguito vedremo due programmi in Excel VBA. Un programma scorre tutti i grafici su un foglio e cambia ogni grafico in un grafico a torta.
L’altro programma cambia alcune proprietà del primo grafico.
-
Creare alcuni grafici (o scaricare il file Excel).
Posizionare un pulsante di comando sul foglio di lavoro e aggiungere le righe di codice che segue:
-
In primo luogo, abbiamo bisogno di dichiarare un oggetto ChartObject. L’oggetto ChartObject funge da contenitore per un oggetto grafico. Chiamiamo il CHT ChartObject ma è possibile utilizzare qualsiasi nome.
Dim cht As ChartObject
-
Le ChartObjects collezione contiene tutti i grafici incorporati in un unico foglio. Vogliamo ciclo attraverso tutti i grafici sul primo foglio. Aggiungere quanto segue per ogni ciclo successivo.
For Each cht In Worksheets(1).ChartObjects Next cht
-
L’oggetto Chart rappresenta un grafico di un lavoro. Aggiungere la seguente riga di codice al ciclo For Each Accanto a cambiare ogni grafico in un grafico a torta.
cht.Chart.ChartType = xlPie
Nota: ancora una volta, CHT funge da contenitore per l’oggetto Chart. Usiamo la proprietà ChartType per cambiare il tipo di grafico. Usiamo il built-in costante xlPie cambiare ogni grafico in un grafico a torta.
-
Risultato quando si fa clic sul pulsante di comando sul foglio:
Ora cambieremo alcune proprietà del primo grafico.
Posizionare un altro pulsante di comando
sul foglio di lavoro e aggiungere le seguenti righe di codice:
-
Le ChartObjects collezione contiene tutti i grafici incorporati in un unico foglio. Aggiungere la seguente riga di codice per attivare il primo grafico:
Worksheets(1).ChartObjects(1).Activate
Ora possiamo fare riferimento a questo grafico come l’ActiveChart.
-
Aggiungere la seguente riga di codice per modificare il titolo del grafico.
ActiveChart.ChartTitle.Text = "Sales Report"
-
Aggiungere la seguente riga di codice per spostare la legenda alla parte inferiore del grafico:
ActiveChart.Legend.Position = xlBottom
-
Risultato quando si fa clic sul pulsante di comando sul foglio: