VBA-grafieken

Excel VBA-grafieken

Diagrammen kunnen worden aangeduid als objecten in VBA, vergelijkbaar met het werkblad kunnen we ook diagrammen in VBA op dezelfde manier invoegen, eerst selecteren we de gegevens en het diagramtype dat we willen voor onze gegevens, nu zijn er twee verschillende soorten diagrammen die we aanbieden is het ingesloten diagram waarbij het diagram zich op hetzelfde gegevensblad bevindt en een andere staat bekend als het diagramblad waar het diagram zich op het afzonderlijke blad met de gegevens bevindt.

Bij data-analyse zijn visuele effecten de belangrijkste prestatie-indicatoren van de persoon die de analyse heeft uitgevoerd. Visuals zijn de best mogelijke manier waarop een analist zijn of haar boodschap kan overbrengen. Omdat we allemaal Excel-gebruikers zijn, besteden we meestal een aanzienlijke hoeveelheid tijd aan het analyseren van de gegevens en trekken we conclusies met cijfers en grafieken. Het maken van een diagram is de kunst om onder de knie te krijgen en ik hoop dat je een goede kennis hebt van het maken van grafieken met Excel. In dit artikel laten we u zien hoe u grafieken kunt maken met VBA-codering.

Hoe grafieken toevoegen met VBA-code in Excel?

U kunt deze VBA-grafieken Excel-sjabloon hier downloaden - VBA-grafieken Excel-sjabloon

# 1 - Maak een grafiek met VBA-codering

Om een ​​diagram te maken, moeten we een soort numerieke gegevens hebben. Voor dit voorbeeld ga ik onderstaande voorbeeldgegevens gebruiken.

Oké, laten we naar de VBA-editor gaan.

Stap 1: Start de subprocedure.

Code:

 Sub Charts_Example1 () End Sub 

Stap 2: definieer de variabele als grafiek.

Code:

 Sub Charts_Example1 () Dim MyChart As Chart End Sub 

Stap 3: Aangezien de grafiek een objectvariabele is, moeten we deze instellen .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add End Sub 

De bovenstaande code voegt een nieuw blad toe als een grafiekblad, niet als een werkblad.

Stap 4: Nu moeten we de kaart ontwerpen. Openen met verklaring.

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart End With End Sub 

Stap 5: Het eerste  dat we moeten doen met het diagram, is het bronbereik instellen door de methode "Brongegevens instellen" te selecteren.

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData End With End Sub 

Stap 6: Hier moeten we het bronbereik vermelden. In dit geval bevindt mijn bronbereik zich in het blad met de naam "Blad1" en het bereik is "A1 tot B7".

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") End With End Sub 

Stap 7: Vervolgens moeten we het soort diagram selecteren dat we gaan maken. Hiervoor moeten we de eigenschap Diagramtype selecteren .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End With End Sub 

Stap 8: Hier hebben we een verscheidenheid aan grafieken. Ik ga de grafiek " xlColumnClustered " selecteren .

Code:

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub 

Oké, laten we op dit moment de code uitvoeren met de F5-toets of handmatig en kijken hoe de grafiek eruitziet.

Stap 9: Verander nu andere eigenschappen van de grafiek. Om de onderstaande grafiektitel te wijzigen, is de code.

Zo hebben we veel eigenschappen en methoden met grafieken. Gebruik ze allemaal om de impact te zien en te leren.

 Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Sales Performance" End With End Sub 

# 2 - Maak een diagram met hetzelfde Excel-blad als de vorm

Om de grafiek te maken met hetzelfde werkblad (gegevensblad) als vorm, moeten we een andere techniek gebruiken.

Stap 1: Declareer eerst drie objectvariabelen.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object End Sub 

Stap 2: Stel vervolgens de werkbladreferentie in.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets ("Sheet1") End Sub 

Stap 3: Stel nu het bereikobject in VBA in

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets ("Sheet1") Set Rng = Ws.Range ("A1: B7") End Sub 

Stap 4: Stel nu het kaartobject in.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets ("Sheet1") Set Rng = Ws.Range ("A1: B7") Set MyChart = Ws.Shapes.AddChart2 End Sub 

Stap 5: Nu kunnen we, zoals gewoonlijk, de grafiek ontwerpen met behulp van de "With" -instructie.

Code:

 Sub Charts_Example2 () Dim Ws As Worksheet 'To Hold Worksheet Reference Dim Rng As Range' To Hold Range Reference in the Worksheet Dim MyChart As Object Set Ws = Worksheets ("Sheet1") 'Nu is de variabele "Ws" gelijk aan het blad " Sheet1 "Set Rng = Ws.Range (" A1: B7 ") 'Nu bevat variabele" Rng "het bereik A1 tot B7 in het blad" Sheet1 "Set MyChart = Ws.Shapes.AddChart2' Chart zal worden toegevoegd als Shape in de hetzelfde werkblad met MyChart.Chart .SetSourceData Rng 'Omdat we het celbereik dat voor het diagram moet worden gebruikt al hebben ingesteld, gebruiken we hier het RNG-object .ChartType = xlColumnClustered .ChartTitle.Text = "Verkoopprestaties" Einde met End Sub 

Dit zal de onderstaande tabel toevoegen.

# 3 - Code om door de grafieken te lopen

Like how we look through sheets to change the name or insert values, hide & unhide them. Similarly to loop through the charts we need to use chart object property.

The below code will loop through all the charts in the worksheet.

Code:

 Sub Chart_Loop() Dim MyChart As ChartObject For Each MyChart In ActiveSheet.ChartObjects 'Enter the code here Next MyChart End Sub 

#4 – Alternative Method to Create Chart

We can use the below alternative method to create charts. We can use the Chart Object. Add method to create the chart below is the example code.

This will also create a chart like the previous method.

Code:

 Sub Charts_Example3() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As ChartObject Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") Set MyChart = Ws.ChartObjects.Add(Left:=ActiveCell.Left, Width:=400, Top:=ActiveCell.Top, Height:=200) MyChart.Chart.SetSourceData Source:=Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Sales Performance" End Sub