Carta VBA

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 VBA Code di Excel?

Anda boleh memuat turun Templat Varts Charts Excel ini di sini - Templat VBA Charts Excel

# 1 - Buat Carta menggunakan Pengekodan VBA

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

Ok, mari kita pergi ke editor VBA.

Langkah 1: Mulakan Sub Prosedur.

Kod:

 Sub Carta_Contoh1 () Sub Akhir 

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 Charts_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Carta. Tambah Dengan MyChart .SetSourceData Berakhir Dengan Sub Akhir 

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

Kod:

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

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 kita mempunyai pelbagai carta. Saya akan memilih carta " xlColumnClustered ".

Kod:

 Sub Carta_Contoh1 () Dim MyChart Sebagai Set Carta MyChart = Carta.Tambah Dengan MyChart .SetSourceData Helaian ("Sheet1"). Julat ("A1: B7") .ChartType = xlColumnClustered End With End Sub 

Ok, buat masa ini mari jalankan kod menggunakan kekunci F5 atau secara manual dan lihat bagaimana carta itu kelihatan.

Langkah 9: Sekarang ubah sifat carta lain. Untuk menukar tajuk carta di bawah adalah kodnya.

Seperti ini, kita mempunyai banyak sifat dan kaedah dengan carta. Gunakan masing-masing untuk melihat kesan dan belajar.

 Sub Charts_Example1 () Dim MyChart Sebagai Set Carta MyChart = Charts.Tambah Dengan MyChart .SetSourceData Sheets ("Sheet1"). Julat ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Prestasi Jualan" Berakhir Dengan Sub Akhir 

# 2 - Buat Carta dengan Lembaran Excel yang Sama dengan Bentuk

Untuk membuat carta dengan lembaran kerja (lembar data) yang sama dengan bentuk kita perlu menggunakan teknik yang berbeza.

Langkah 1: Menyatakan Pertama Pembolehubah Objek Ketiga.

Kod:

 Sub Carta_Contoh2 () Dim Ws Sebagai Lembaran Kerja Dim Rng Sebagai Julat Dim MyChart Sebagai Objek Akhir Sub 

Langkah 2: Kemudian Tetapkan rujukan Lembaran Kerja.

Kod:

 Sub Carta_Contoh2 () Dim Ws Sebagai Lembaran Kerja Dim Rng Sebagai Julat Dim MyChart Sebagai Objek Set Ws = Lembaran Kerja ("Lembaran1") Sub Akhir 

Langkah 3: Sekarang tetapkan objek jarak dalam VBA

Kod:

 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