Sommario
In questo articolo vi mostrerò come è possibile creare un grafico dinamico in Excel utilizzando VBA .
Scarica il quaderno di esercizi
Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.
Grafico dinamico in Excel.xlsm5 semplici passi per creare un grafico dinamico con Excel VBA
Qui abbiamo un foglio di lavoro chiamato Foglio1 che contiene una tabella contenente i dati entrate e gli utili di un'azienda per alcuni anni.
Il nostro obiettivo oggi è quello di generare un grafico dinamico da questa tabella utilizzando Excel VBA .
⧪ Passo 1: apertura della finestra di Visual Basic
Stampa ALT+F11 sulla tastiera per aprire la finestra Visual Basic finestra.
⧪ Passo 2: inserimento di un nuovo modulo
Vai al sito Inserire> Modulo nella barra degli strumenti. Fare clic su Modulo Un nuovo modulo chiamato Modulo1 sarà inserito.
⧪ Passo 3: inserimento del codice VBA
Questo è il passo più importante: mettete in pratica quanto segue VBA Codice nel modulo.
⧭ Codice VBA:
Sub Create_Dynamic_Chart() Application.ScreenUpdating = False With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor If .Brightness = 0 Then .Brightness = -0.150000006 Else .Brightness = 0 End If End With Dim Sequence() As String Desired_Shapes = Array("Rounded Rectangle 1", "Rounded Rectangle 2", "Rounded Rectangle 3") For i = LBound(Desired_Shapes) ToUBound(Desired_Shapes) With ActiveSheet.Shapes(Desired_Shapes(i)) If .Fill.ForeColor.Brightness = -0.150000006 Then Sequence(UBound(Sequence)) = .TextFrame2.TextRange.Characters.Text ReDim Preserve Sequence(UBound(Series) + 1) End If End With Next i If UBound(Sequence)> 0 Then ReDim Preserve Sequence(UBound(Sequence) - 1)Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1 Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Sequence, Operator:=xlFilterValues Application.ScreenUpdating = True End Sub
⧪ Passo 4: salvataggio della cartella di lavoro in formato XLSM
Successivamente, tornare alla cartella di lavoro e salvarla come file Cartella di lavoro Excel abilitata alle macro .
⧪ Fase 5: Output finale
Eseguire il codice dal file Esegui Sub / UserForm nella barra degli strumenti.
Si troverà un grafico dinamico creato sulla base della tabella in Foglio2 del foglio di lavoro.
Cose da ricordare
Una tabella è il modo migliore per creare un grafico dinamico, perché se si aggiunge o si rimuove un elemento dalla tabella, la tabella si adatta automaticamente, e lo stesso vale per il grafico. Ma ci sono anche altri modi per ottenere questo risultato, come l'utilizzo di un elemento Gamma nominata .