Come creare un grafico a barre in vba (con esempio)
È possibile utilizzare la seguente sintassi di base per creare un grafico a barre in Excel utilizzando VBA:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
Questa particolare macro richiederà all’utente un intervallo di input e quindi genererà automaticamente un grafico a barre utilizzando l’intervallo di input e lo inserirà nel foglio chiamato Foglio1 con l’angolo in alto a sinistra del grafico situato nella cella attualmente attiva.
L’esempio seguente mostra come utilizzare questa macro nella pratica.
Esempio: come creare un grafico a barre in VBA
Supponiamo di avere il seguente set di dati in Excel che contiene informazioni sui punti segnati da vari giocatori di basket:
Diciamo che vogliamo utilizzare VBA per generare un grafico a barre utilizzando questo set di dati.
Per fare ciò possiamo creare la seguente macro:
SubCreateBarChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create bar chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlColumnClustered
End Sub
Per eseguire questa macro, possiamo fare clic sulla scheda Sviluppatore lungo la barra multifunzione superiore in Excel e quindi fare clic su Macro .
Possiamo quindi fare clic su quello etichettato CreateBarChart, quindi fare clic su Esegui :
Dopo aver fatto clic su Esegui , ci verrà richiesto un intervallo di input per il nostro grafico a barre:
Digiteremo A1:B7 , quindi premere OK .
Il seguente grafico a barre verrà creato e visualizzato automaticamente con l’angolo in alto a sinistra del grafico situato nella cella attualmente attiva, che risulta essere la cella D1 :
Nota : è possibile modificare i valori degli argomenti Larghezza e Altezza nella funzione ChartObjects.Add() per regolare rispettivamente la larghezza e l’altezza del grafico a barre.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come trovare l’ultima riga utilizzata
VBA: come contare il numero di righe nell’intervallo
VBA: come contare il numero di colonne utilizzate