Grafy VBA Príklady pridania grafu pomocou kódu VBA

Excel VBA grafy

Grafy možno vo VBA označiť ako objekty, podobne ako v pracovnom hárku môžeme grafy vkladať aj do VBA rovnakým spôsobom, najskôr vyberieme údaje a typ grafu, ktorý chceme pre out data, teraz existujú dva rôzne typy grafov, ktoré poskytujeme jeden je vložený graf, kde je graf na rovnakom liste s údajmi a ďalší je známy ako hárok s grafom, kde je graf na samostatnom hárku s údajmi.

Pri analýze údajov sú vizuálne efekty kľúčovými ukazovateľmi výkonnosti osoby, ktorá vykonala analýzu. Vizuál je najlepším možným spôsobom, ako môže analytik sprostredkovať svoje posolstvo. Pretože sme všetci používatelia programu Excel, zvyčajne trávime značné množstvo času analýzou údajov a vyvodzovaním záverov pomocou čísel a grafov. Vytváranie grafov je umenie zvládnuť a dúfam, že máte dobré znalosti o vytváraní grafov v programe Excel. V tomto článku si ukážeme, ako vytvárať grafy pomocou kódovania VBA.

Ako pridať grafy pomocou kódu VBA v programe Excel?

Túto šablónu VBA Charts Excel si môžete stiahnuť tu - Šablóna VBA Charts Excel

# 1 - Vytvorte graf pomocou kódovania VBA

Na vytvorenie ľubovoľného grafu by sme mali mať nejaké číselné údaje. Pre tento príklad použijem nižšie uvedené vzorové údaje.

Dobre, poďme k editoru VBA.

Krok 1: Spustite vedľajší postup.

Kód:

 Sub Charts_Example1 () End Sub 

Krok 2: Definujte premennú ako graf.

Kód:

 Sub Charts_Example1 () Dim MyChart As End End Sub 

Krok 3: Pretože graf je objektová premenná, musíme ju nastaviť .

Kód:

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

Vyššie uvedený kód pridá nový hárok ako hárok grafu, nie ako pracovný hárok.

Krok 4: Teraz musíme navrhnúť graf. Otvoriť výpisom.

Kód:

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

Krok 5: Prvá  vec, ktorú v grafe musíme urobiť, je nastaviť rozsah zdrojov výberom metódy „Nastaviť údaje zdroja“ .

Kód:

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

Krok 6: Tu musíme spomenúť rozsah zdrojov. V takom prípade je môj zdrojový rozsah v hárku s názvom „List1“ a rozsah je „A1 až B7“.

Kód:

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

Krok 7: Ďalej musíme zvoliť druh grafu, ktorý vytvoríme. Z tohto dôvodu musíme zvoliť vlastnosť Typ grafu .

Kód:

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

Krok 8: Tu máme rôzne grafy. Vyberiem graf „ xlColumnClustered “.

Kód:

 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, v tejto chvíli spustíme kód pomocou klávesu F5 alebo ručne a pozrime sa, ako vyzerá graf.

Krok 9: Teraz zmeňte ďalšie vlastnosti grafu. Nasledujúci kód umožňuje zmeniť názov tabuľky.

Takto máme veľa vlastností a metód s grafmi. Použite každý z nich na to, aby ste videli vplyv a poučili sa.

 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