VBA Grafikleri - VBA Kodunu Kullanarak Grafik Ekleme Örnekleri

İçindekiler

Excel VBA Grafikleri

Grafikler VBA'da nesneler olarak adlandırılabilir, çalışma sayfasına benzer şekilde VBA'ya grafikler de ekleyebiliriz, önce veri için istediğimiz verileri ve grafik türünü seçiyoruz, şimdi bir tane sağladığımız iki farklı grafik türü var grafiğin aynı veri sayfasında yer aldığı ve bir diğeri, grafiğin ayrı veri sayfasında yer aldığı grafik sayfası olarak bilinen gömülü grafiktir.

Veri analizinde görsel efektler, analizi yapan kişinin temel performans göstergeleridir. Görseller, bir analistin mesajını iletebileceği en olası yoldur. Hepimiz excel kullanıcıları olduğumuz için, genellikle verileri analiz etmek için önemli miktarda zaman harcıyoruz ve sayılar ve çizelgelerle sonuçlar çıkarıyoruz. Grafik oluşturmak ustalaşmak için bir sanattır ve umarım excel ile grafikler oluşturma konusunda iyi bilgiye sahip olursunuz. Bu yazıda, VBA kodlamasını kullanarak nasıl grafik oluşturacağınızı göstereceğiz.

Excel'de VBA Kodunu Kullanarak Grafikler Nasıl Eklenir?

# 1 - VBA Kodlamasını Kullanarak Grafik Oluşturun

Herhangi bir grafik oluşturmak için bir çeşit sayısal veriye sahip olmamız gerekir. Bu örnek için aşağıdaki örnek verileri kullanacağım.

Tamam, VBA editörüne geçelim.

Adım 1: Alt Prosedürü Başlatın.

Kod:

Sub Charts_Example1 () End Sub

Adım 2: Değişkeni Grafik olarak tanımlayın.

Kod:

Sub Charts_Example1 () Dim MyChart As Chart End Sub

Adım 3: Grafik bir nesne değişkeni olduğundan, onu ayarlamamız gerekir.

Kod:

Sub Charts_Example1 () MyChart'ı Chart Olarak Dim Ayarla MyChart = Charts.Add End Sub

Yukarıdaki kod, çalışma sayfası olarak değil, grafik sayfası olarak yeni bir sayfa ekleyecektir.

Adım 4: Şimdi grafiği tasarlamamız gerekiyor. İfadeyle Açın.

Kod:

Sub Charts_Example1 () Dim MyChart'ı Chart Olarak Ayarla MyChart = Charts.Add With MyChart End With End Sub

Adım 5: Grafikte yapmamız gereken ilk şey, "Kaynak Verileri Ayarla" yöntemini seçerek kaynak aralığını ayarlamaktır .

Kod:

Sub Charts_Example1 () Dim MyChart'ı Chart Olarak Ayarla MyChart = Charts.Add With MyChart .SetSourceData End With End Sub

Adım 6: Burada kaynak aralığından bahsetmemiz gerekiyor. Bu durumda, kaynak aralığım "Sayfa1" adlı sayfada ve aralık "A1 ila B7" dir.

Kod:

Sub Charts_Example1 () Dim MyChart'ı Chart Olarak Ayarla MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Aralık ("A1: B7") End With End Sub

7. Adım: Ardından, oluşturacağımız grafik türünü seçmemiz gerekiyor. Bunun için Chart Type özelliğini seçmemiz gerekiyor .

Kod:

Sub Charts_Example1 () MyChart'ı Chart Olarak Dim Ayarla MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End With End Sub

Adım 8: Burada çeşitli çizelgelerimiz var. " XlColumnClustered " grafiğini seçeceğim .

Kod:

Sub Charts_Example1 () Dim MyChart'ı Chart Olarak Ayarla MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub

Tamam, şu anda F5 tuşunu kullanarak veya manuel olarak kodu çalıştıralım ve grafiğin nasıl göründüğüne bakalım.

Adım 9: Şimdi, grafiğin diğer özelliklerini değiştirin. Grafik başlığını değiştirmek için, kod aşağıdadır.

Bunun gibi, grafikli birçok özelliğimiz ve yöntemimiz var. Etkisini görmek ve öğrenmek için her birini kullanın.

Alt Charts_Example1 () MyChart'ı Grafik Olarak Dim Ayarla MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Satış Performansı" End Sub ile Bitir

# 2 - Şekil ile Aynı Excel Sayfasına Sahip Bir Grafik Oluşturun

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:

Alt Charts_Example3 () Çalışma Sayfası Olarak Dim Aralığı Aralık Olarak Dim MyChart'ı ChartObject Olarak Ayarla Ws = Çalışma Sayfaları ("Sayfa1") Aralığı Ayarla = Ws.Range ("A1: B7") MyChart = Ws.ChartObjects.Add (Sol: = ActiveCell.Left, Genişlik: = 400, Üst: = ActiveCell.Top, Yükseklik: = 200) MyChart.Chart.SetSourceData Kaynak: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Satış Performansı" Sonu Alt

Ilginç makaleler...