Innehållsförteckning
I den här artikeln visar jag hur du kan skapa ett dynamiskt diagram i Excel med hjälp av VBA .
Ladda ner övningsboken
Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.
Dynamiskt diagram i Excel.xlsm5 enkla steg för att skapa ett dynamiskt diagram med Excel VBA
Här har vi ett arbetsblad som heter Blad 1 som innehåller en tabell som innehåller intäkter och företagets resultat under några år.
Vårt mål i dag är att generera ett dynamiskt diagram från denna tabell med hjälp av Excel VBA .
⧪ Steg 1: Öppna Visual Basic-fönstret
Tryck på ALT+F11 på tangentbordet för att öppna Visual Basic fönster.
⧪ Steg 2: Infoga en ny modul
Gå till Infoga> Modul i verktygsfältet. Klicka på Modul En ny modul som heter Modul1 kommer att införas.
⧪ Steg 3: Lägg in VBA-koden
Det här är det viktigaste steget. VBA Kod i modulen.
⧭ VBA-kod:
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) Med 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)Arbetsblad("Sheet1").ListObjects("Table1").Range.AutoFilter Field:=1 Arbetsblad("Sheet1").ListObjects("Table1").Range.AutoFilter _ Field:=1, Criteria1:=Sequence, Operator:=xlFilterValues Application.ScreenUpdating = True End Sub
⧪ Steg 4: Spara arbetsboken i XLSM-format
Återgå sedan till arbetsboken och spara den som en Arbetsbok med Excel-makroaktivering .
⧪ Steg 5: Slutligt resultat
Kör koden från Kör Sub / UserForm i verktygsfältet.
Du hittar ett dynamiskt diagram som skapats baserat på tabellen i Blad2 av arbetsbladet.
Saker att komma ihåg
En tabell är det bästa sättet att skapa ett dynamiskt diagram. Om du lägger till eller tar bort ett element från tabellen kommer tabellen automatiskt att justeras, och så även diagrammet. Men det finns även andra sätt att åstadkomma detta, till exempel genom att använda en Namngiven serie .