Aşağıda, Excel VBA’daki iki programa bakacağız. Bir program, bir sayfadaki tüm grafikler arasında geçiş yapar ve her grafiği bir pasta grafiğe dönüştürür. Diğer program, ilk grafiğin bazı özelliklerini değiştirir.
- Bazı grafikler oluşturun.
Çalışma sayfasına bir komut düğmesi yerleştirin ve aşağıdaki kod satırını ekleyin:
- İlk olarak, bir ChartObject nesnesi tanımlamamız gerekiyor. ChartObject nesnesi, bir grafik nesnesi için kapsayıcı görev görür. Ben ChartObject’i grafik olarak tanımlıyorum ama siz herhangi bir isim kullanabilirsiniz.
Dim grafik As ChartObject
Code language: VB.NET (vbnet)
- ChartObjects koleksiyonu, tüm gömülü grafikleri tek bir sayfada içerir. Biz ilk sayfadaki tüm grafikler arasında dolaşmak istiyoruz. Aşağıdaki For Each Next döngüsünü ekleyin.
For Each grafik In Worksheets(1).ChartObjects
Next grafik
Code language: VB.NET (vbnet)
- Grafik nesnesi, çalışma kitabındaki bir grafiği temsil eder. Her grafiği bir pasta grafiğine dönüştürmek için For Each Next Döngüsüne aşağıdaki kod satırını ekleyin.
grafik.Chart.ChartType = xlPie
Code language: VB.NET (vbnet)
Not: grafik değişkeni, Chart nesnesi için bir kapsayıcı görevi görür. Grafik türünü değiştirmek için ChartType özelliğini kullanırız. Her grafiği bir pasta grafiğine dönüştürmek için yerleşik sabit xlPie’yi kullanırız.
- Sayfadaki komut düğmesine tıkladığınızda sonuç:
Şimdi ilk grafiğin bazı özelliklerini değiştireceğiz.
Çalışma sayfasına başka bir komut düğmesi yerleştirin ve aşağıdaki kod satırlarını ekleyin:
- ChartObjects koleksiyonu, tüm gömülü grafikleri tek bir sayfada içerir. İlk grafiği etkinleştirmek için aşağıdaki kod satırını ekleyin:
Worksheets(1).ChartObjects(1).Activate
Code language: VB.NET (vbnet)
Artık bu grafiği ActiveChart olarak görebiliriz.
- Grafik başlığını değiştirmek için aşağıdaki kod satırını ekleyin.
ActiveChart.ChartTitle.Text = "Ciro Raporu"
Code language: VB.NET (vbnet)
- Göstergeyi grafiğin en altına taşımak için aşağıdaki kod satırını ekleyin:
ActiveChart.Legend.Position = xlBottom
Code language: VB.NET (vbnet)
- Sayfadaki komut düğmesine tıkladığınızda sonuç:
Tüm Kodlar:
Option Explicit
Private Sub CommandButton1_Click()
Dim grafik As ChartObject
For Each grafik In Worksheets(1).ChartObjects
grafik.Chart.ChartType = xlPie
Next grafik
End Sub
Private Sub CommandButton2_Click()
Worksheets(1).ChartObjects(1).Activate
ActiveChart.ChartTitle.Text = "Ciro Raporu"
ActiveChart.Legend.Position = xlBottom
End Sub
Code language: VB.NET (vbnet)