Carta VBA - Contoh Menambah Carta menggunakan Kod VBA

Isi kandungan

Carta VBA Excel

Carta boleh diistilahkan sebagai objek dalam VBA, mirip dengan lembaran kerja kita juga dapat memasukkan carta dalam VBA dengan cara yang sama, pertama kita memilih data dan jenis carta yang kita inginkan untuk data keluar, sekarang ada dua jenis carta yang kami sediakan satu adalah carta embed di mana carta berada dalam lembaran data yang sama dan yang lain dikenali sebagai lembaran carta di mana carta berada di lembaran data yang berasingan.

Dalam analisis data, kesan visual adalah petunjuk prestasi utama orang yang telah melakukan analisis. Visual adalah kaedah terbaik yang boleh dilakukan oleh penganalisis untuk menyampaikan mesejnya. Oleh kerana kita semua adalah pengguna excel, kita biasanya menghabiskan banyak masa untuk menganalisis data dan membuat kesimpulan dengan nombor dan carta. Membuat carta adalah seni untuk dikuasai, dan saya harap anda mempunyai pengetahuan yang baik untuk membuat carta dengan cemerlang. Dalam artikel ini, kami akan menunjukkan kepada anda cara membuat carta menggunakan pengekodan VBA.

Bagaimana Menambah Carta menggunakan Kod VBA di Excel?

# 1 - Buat Carta menggunakan Pengekodan VBA

Untuk membuat carta apa pun, kita harus mempunyai semacam data berangka. Untuk contoh ini, saya akan menggunakan data sampel di bawah.

Ok, mari kita pergi ke editor VBA.

Langkah 1: Mulakan Sub Prosedur.

Kod:

Sub Carta_Contoh1 () Akhir Sub

Langkah 2: Tentukan pemboleh ubah sebagai Carta.

Kod:

Sub Charts_Contoh1 () Dim MyChart Sebagai Carta Akhir Sub

Langkah 3: Oleh kerana carta adalah pemboleh ubah objek, kita perlu menetapkannya .

Kod:

Sub Carta_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Carta. Tambah Sub Akhir

Kod di atas akan menambahkan lembaran baru sebagai helaian carta, bukan sebagai lembaran kerja.

Langkah 4: Sekarang, kita perlu merancang carta. Buka Dengan Penyataan.

Kod:

Sub Carta_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Carta. Tambah Dengan MyChart Akhir Dengan Sub Akhir

Langkah 5: Perkara pertama dengan carta yang perlu kita lakukan adalah Menetapkan julat sumber dengan memilih kaedah "Tetapkan Data Sumber" .

Kod:

Sub Carta_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Carta. Tambah Dengan MyChart .SetSourceData Berakhir Dengan Sub Akhir

Langkah 6: Di sini, kita perlu menyebut julat sumbernya. Dalam kes ini, rentang sumber saya ada di lembaran bernama "Sheet1", dan julatnya adalah "A1 hingga B7".

Kod:

Sub Charts_Example1 () Dim MyChart Sebagai Set Carta MyChart = Charts.Tambah Dengan MyChart .SetSourceData Sheets ("Sheet1"). Julat ("A1: B7") End with End Sub

Langkah 7: Selanjutnya, kita perlu memilih jenis carta yang akan kita buat. Untuk ini, kita perlu memilih harta Jenis Carta .

Kod:

Sub Charts_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Charts.Tambah Dengan MyChart .SetSourceData Sheets ("Sheet1"). Julat ("A1: B7") .ChartType = End with End Sub

Langkah 8: Di sini, kami mempunyai pelbagai carta. Saya akan memilih carta " xlColumnClustered ".

Kod:

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, at this moment, let’s run the code using the F5 key or manually and see how the chart looks.

Step 9: Now, change other properties of the chart. To change the chart title, below is the code.

Like this, we have many properties and methods with charts. Use each one of them to see the impact and learn.

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 the 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 Carta_Contoh3 () Dim Ws Sebagai Lembaran Kerja Dim Rng Sebagai Julat Dim MyChart Sebagai CartaObject Set Ws = Lembaran Kerja ("Lembaran1") Tetapkan Rng = Ws.Range ("A1: B7") Tetapkan MyChart = Ws.ChartObjects.Add (Kiri: = ActiveCell.Left, Lebar: = 400, Atas: = ActiveCell.Top, Tinggi: = 200) MyChart.Chart.SetSourceData Sumber: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Prestasi Jualan" Tamat Sub

Artikel menarik...