VBA diagramok | Példák diagram hozzáadására a VBA kód segítségével

Excel VBA diagramok

A diagramokat objektumnak nevezhetjük a VBA-ban, hasonlóan a munkalaphoz, ugyanúgy beilleszthetünk diagramokat a VBA-ba, először kiválasztjuk azokat az adatokat és diagramtípusokat, amelyeket az adatokhoz szeretnénk, most két különböző típusú diagram létezik, az egyiket megadjuk a beágyazott diagram, ahol a diagram ugyanazon az adatlapon található, egy másik pedig diagramlap néven ismert, ahol a diagram az adat külön lapján található.

Az adatelemzésben a vizuális effektusok jelentik az elemzést végző személy legfontosabb teljesítménymutatóit. A látvány a lehető legjobb módja annak, hogy az elemző közvetíthesse üzenetét. Mivel mindannyian excel felhasználók vagyunk, általában jelentős időt töltünk az adatok elemzésével és következtetések levonásával számokkal és diagramokkal. A diagramok készítése a művészet, amelyet el kell sajátítanunk, és remélem, hogy jól ismeri a diagramok excel készítését. Ebben a cikkben megmutatjuk, hogyan készíthet diagramokat VBA kódolással.

Hogyan adjunk hozzá diagramokat az VBA kód használatával az Excelben?

Ezt a VBA Charts Excel sablont innen töltheti le - VBA Charts Excel sablont

# 1 - Diagram készítése VBA kódolással

Bármely diagram létrehozásához rendelkeznünk kell valamilyen numerikus adattal. Ebben a példában az alábbiakban mintaadatokat fogok felhasználni.

Ok, ugorjunk a VBA szerkesztőhöz.

1. lépés: Indítsa el a másodlagos eljárást.

Kód:

 Aldiagramok_Példa1 () Vége al 

2. lépés: Határozza meg a változót diagramként.

Kód:

 Sub Charts_Példa1 () Dim MyChart mint Chart End Sub 

3. lépés: Mivel a diagram objektumváltozó, be kell állítanunk .

Kód:

 Sub Charts_Példa1 () Dim MyChart as Chart Set MyChart = Charts. Add Sub Sub 

A fenti kód új lapot diagramlapként, nem pedig munkalapként ad hozzá.

4. lépés: Most meg kell terveznünk a diagramot. Nyissa meg nyilatkozattal.

Kód:

 Sub Charts_Példa1 () Dim MyChart as Chart Set MyChart = Charts. Add with MyChart End with End Sub 

5. lépés: Az első  dolog, amit meg kell tennünk a diagrammal, az a „Forrásadatok beállítása” módszer kiválasztásával állítsa be a forrástartományt .

Kód:

 Sub Charts_Példa1 () Dim MyChart as Chart Set MyChart = Charts. Add with MyChart .SetSourceData End With End Sub 

6. lépés: Itt meg kell említenünk a forrás tartományt. Ebben az esetben a forrástartományom a „Sheet1” névre keresztelt lapon található, a tartomány pedig „A1 – B7”.

Kód:

 Sub Charts_Példa1 () Dim MyChart as Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") End End End Sub 

7. lépés: A következő lépésben ki kell választanunk a létrehozandó diagram típusát. Ehhez ki kell választanunk a Chart Type tulajdonságot.

Kód:

 Alsdiagramok_Példa1 () A MyChart gyengülése diagramként A MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End End End 

8. lépés: Itt számos diagram található. Kiválasztom az „ xlColumnClustered ” diagramot.

Kód:

 Alsdiagramok_Példa1 () A MyChart gyengülése diagramként A MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub 

Ok, ebben a pillanatban futtassuk a kódot az F5 billentyűvel vagy manuálisan, és nézzük meg, hogyan néz ki a diagram.

9. lépés: Most módosítsa a diagram egyéb tulajdonságait. Az alábbi diagram címének megváltoztatása a kód.

Így sok tulajdonsággal és módszerrel rendelkezünk diagramokkal. Használja mindegyiket a hatások megismeréséhez és a tanuláshoz.

 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 – Create a Chart with Same Excel Sheet as Shape

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:

 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