VBA-diagram - Exempel på att lägga till diagram med VBA-kod

Innehållsförteckning

Excel VBA-diagram

Diagram kan betecknas som objekt i VBA, liknar kalkylbladet kan vi också infoga diagram i VBA på samma sätt, först väljer vi de data och diagramtyp vi vill ha för utdata, nu finns det två olika typer av diagram vi tillhandahåller en är det inbäddade diagrammet där diagrammet finns i samma datablad och ett annat är känt som diagrambladet där diagrammet finns i det separata databladet.

I dataanalys är visuella effekter nyckelindikatorerna för den person som har gjort analysen. Visuals är det bästa möjliga sättet som en analytiker kan förmedla sitt budskap. Eftersom vi alla är utmärkta användare tillbringar vi vanligtvis mycket tid på att analysera data och dra slutsatser med siffror och diagram. Att skapa ett diagram är en konst att bemästra, och jag hoppas att du har god kunskap om att skapa diagram med excel. I den här artikeln visar vi dig hur du skapar diagram med VBA-kodning.

Hur lägger jag till diagram med VBA-kod i Excel?

# 1 - Skapa diagram med hjälp av VBA-kodning

För att skapa ett diagram bör vi ha någon form av numeriska data. För det här exemplet ska jag använda nedanstående exempeldata.

Okej, låt oss hoppa till VBA-redaktör.

Steg 1: Starta underproceduren.

Koda:

Underdiagram_Exempel1 () Avsluta sub

Steg 2: Definiera variabeln som diagram.

Koda:

Sub Charts_Example1 () Dim MyChart som diagram End Sub

Steg 3: Eftersom diagrammet är en objektvariabel, måste vi Set det.

Koda:

Sub Charts_Example1 () Dim MyChart som diagram Ställ in MyChart = Charts. Lägg till End Sub

Ovanstående kod lägger till ett nytt ark som ett diagramblad, inte som ett kalkylblad.

Steg 4: Nu måste vi utforma diagrammet. Öppna med uttalande.

Koda:

Underdiagram_Exempel1 () Dim MyChart som diagram Ställ in MyChart = Diagram. Lägg till med MyChart End med End Sub

Steg 5: Det första med diagrammet vi behöver göra är att ställa in källområdet genom att välja "Set Source Data" -metoden.

Koda:

Underdiagram_Exempel1 () Dim MyChart som diagram Ställ in MyChart = Diagram. Lägg till med MyChart. SetSourceData Avsluta med End Sub

Steg 6: Här måste vi nämna källområdet. I det här fallet finns mitt källområde i bladet "Sheet1" och intervallet är "A1 till B7".

Koda:

Sub Charts_Example1 () Dim MyChart som diagram Ställ in MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") Avsluta med End Sub

Steg 7: Därefter måste vi välja vilken typ av diagram vi ska skapa. För detta måste vi välja diagramtyp egendom.

Koda:

Sub Charts_Example1 () Dim MyChart som diagram Ställ in MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7"). ChartType = End With End Sub

Steg 8: Här har vi en mängd olika diagram. Jag ska välja " xlColumnClustered " -diagrammet.

Koda:

Underdiagram_Exempel1 () Dimma MyChart som diagram Ställ in MyChart = Diagram. Lägg till med MyChart .SetSourceData Sheets ("Sheet1"). Område ("A1: B7"). ChartType = xlColumnClustered End With End Sub

Okej, just nu, låt oss köra koden med F5-tangenten eller manuellt och se hur diagrammet ser ut.

Steg 9: Ändra nu andra egenskaper i diagrammet. För att ändra diagramtiteln, nedan är koden.

Så här har vi många egenskaper och metoder med diagram. Använd var och en av dem för att se effekterna och lära dig.

Underdiagram_Exempel1 () Dimma MyChart som diagram Ställ in MyChart = Diagram. Lägg till med MyChart .SetSourceData Sheets ("Sheet1"). Område ("A1: B7"). ChartType = xlColumnClustered .ChartTitle.Text = "Försäljningsprestanda" Avsluta med End Sub Sub

# 2 - Skapa ett diagram med samma Excel-ark som form

To create the chart with the same worksheet (datasheet) as shape, we need to use a different technique.

Step 1: First Declare threes Object Variables.

Code:

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

Step 2: Then Set the Worksheet reference.

Code:

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

Step 3: Now set the range object in VBA

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

Step 4: Now, set the chart object.

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

Step 5: Now, as usual, we can design the chart by using the “With” statement.

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") 'Now variable "Ws" is equal to the sheet "Sheet1" Set Rng = Ws.Range("A1:B7") 'Now variable "Rng" holds the range A1 to B7 in the sheet "Sheet1" Set MyChart = Ws.Shapes.AddChart2 'Chart will be added as Shape in the same worksheet With MyChart.Chart .SetSourceData Rng 'Since we already set the range of cells to be used for chart we have use RNG object here .ChartType = xlColumnClustered .ChartTitle.Text = "Sales Performance" End With End Sub

This will add the chart below.

#3 - Code to Loop through the Charts

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:

Underdiagram_Exempel3 () Dim Ws som arbetsblad Dim Rng som intervall Dim MyChart som 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

Intressanta artiklar...