VBA-kaaviot - Esimerkkejä kaavion lisäämisestä VBA-koodilla

Sisällysluettelo

Excel VBA -taulukot

Kaavioita voidaan kutsua esineiksi VBA: ssa, kuten taulukossa, voimme myös lisätä kaavioita VBA: hon samalla tavalla, ensin valitsemme haluamasi tiedot ja kaaviotyypit, nyt on kaksi erilaista kaaviota, jotka tarjoamme yhden on upotettu kaavio, jossa kaavio on samassa tietolomakkeessa ja toinen tunnetaan kaaviosivuna, jossa kaavio on erillisessä tietolomakkeessa.

Data-analyysissä visuaaliset tehosteet ovat analyysin suorittaneen henkilön tärkeimmät suorituskykyindikaattorit. Visuaalit ovat paras mahdollinen tapa, jolla analyytikko voi välittää viestinsä. Koska olemme kaikki erinomaisia ​​käyttäjiä, käytämme yleensä paljon aikaa tietojen analysointiin ja johtopäätösten tekemiseen numeroilla ja kaavioilla. Kaavion luominen on taidetta hallita, ja toivon, että sinulla on hyvät tiedot kaavioiden luomisesta Excelillä. Tässä artikkelissa näytämme, kuinka voit luoda kaavioita VBA-koodauksen avulla.

Kuinka lisätä kaavioita VBA-koodilla Excelissä?

# 1 - Luo kaavio VBA-koodauksella

Kaavion luomiseksi meillä pitäisi olla jonkinlainen numeerinen data. Tässä esimerkissä aion käyttää alla olevia näytetietoja.

Ok, siirrytään VBA-editoriin.

Vaihe 1: Aloita alimenettely.

Koodi:

Alikaaviot_Esimerkki1 () Lopeta ali

Vaihe 2: Määritä muuttuja kaaviona.

Koodi:

Alakaaviot_esimerkki1 () Himmennä Oma kaavio kaavion loppuosana

Vaihe 3: Koska kaavio on objekti muuttuja, meidän täytyy Set sitä.

Koodi:

Alikaaviot_esimerkki1 () Himmennä MyChart as Chart Set MyChart = Charts.Add End Sub

Yllä oleva koodi lisää uuden taulukon kaaviotaulukoksi, ei laskentataulukoksi.

Vaihe 4: Nyt meidän on suunniteltava kaavio. Avaa lausunnolla.

Koodi:

Alikaaviot_esimerkki1 () Himmennä Oma kaavio kaaviona Aseta MyChart = Kaaviot.

Vaihe 5: Ensimmäinen asia kaaviossa, joka meidän on tehtävä, on asettaa lähde-alue valitsemalla "Aseta lähdetiedot" -menetelmä.

Koodi:

Alikaaviot_esimerkki1 () Himmennä MyChart as Chart Set MyChart = Charts.Add With MyChart .SetSourceData End with End Sub

Vaihe 6: Tässä on mainittava lähdealue. Tässä tapauksessa lähdealueeni on taulukossa nimeltä "Sheet1" ja alue on "A1 - B7".

Koodi:

Alikaaviot_esimerkki1 () Himmennä MyChart kuten kaavio Aseta MyChart = Kaaviot.Lisää MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") End End Sub Sub

Vaihe 7: Seuraavaksi meidän on valittava sellainen kaavio, jonka aiomme luoda. Tätä varten meidän on valittava Chart Type -ominaisuus.

Koodi:

Alikaaviot_esimerkki1 () Himmennä MyChart kuten kaavio Aseta MyChart = Charts.Lisää MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End With End Sub

Vaihe 8: Täällä meillä on erilaisia ​​kaavioita. Aion valita " xlColumnClustered " -kaavion.

Koodi:

Alikaaviot_esimerkki1 () Himmennä MyChart kaaviona Aseta MyChart = Charts.Lisää MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub

Ok, nyt suoritetaan koodi F5-näppäimellä tai manuaalisesti ja katsotaan miten kaavio näyttää.

Vaihe 9: Muuta nyt kaavion muita ominaisuuksia. Kaavion otsikon muuttamiseksi alla on koodi.

Tällä tavoin meillä on monia ominaisuuksia ja menetelmiä, joissa on kaavioita. Käytä kutakin niistä nähdäksesi vaikutukset ja oppia.

Alikaaviot_esimerkki1 () Himmennä MyChart kaaviona Aseta MyChart = Charts.Lisää MyChart .SetSourceData Sheets ("Sheet1"). Alue ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Myynnin suorituskyky" Loppuun loppuosa

# 2 - Luo kaavio samalla Excel-taulukolla kuin muoto

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:

Alikaaviot_esimerkki3 () Himmennä Ws laskentataulukoksi Dim Rng alueeksi Dim MyChart As ChartObject Set Ws = Laskentataulukot ("Sheet1") Aseta Rng = Ws.Range ("A1: B7") Set MyChart = Ws.ChartObjects.Add (Vasen: = ActiveCell.Left, Leveys: = 400, Yläosa: = ActiveCell.Top, Korkeus: = 200) MyChart.Chart.SetSourceData Source: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Myynnin suorituskyky" Sub

Mielenkiintoisia artikkeleita...