Grafikler ve Grafikler için VBA Kılavuzu

İçindekiler

Verileri görsel olarak görüntülemek için Excel çizelgeleri ve grafikler kullanılır. Bu eğitimde, grafikler ve grafik öğeleri oluşturmak ve işlemek için VBA'nın nasıl kullanılacağını ele alacağız.

Bir çalışma sayfasında gömülü grafikler veya kendi grafik sayfalarında grafikler oluşturabilirsiniz.

VBA Kullanarak Gömülü Grafik Oluşturma

Aşağıda gösterilen kaynak verileri içeren A1:B4 aralığına sahibiz:

ChartObjects.Add yöntemini kullanarak bir grafik oluşturabilirsiniz. Aşağıdaki kod, çalışma sayfasında gömülü bir grafik oluşturacaktır:

12345678 Sub CreateEmbeddedChartUsingChartObject()Gömülü grafiği ChartObject olarak karartSet gömülüchart = Sheets("Sheet1").ChartObjects.Add(Sol:=180, Genişlik:=300, Üst:=7, Yükseklik:=200)gömülüchart.Chart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B4")Alt Bitiş

Sonuç:

Shapes.AddChart yöntemini kullanarak da bir grafik oluşturabilirsiniz. Aşağıdaki kod, çalışma sayfasında gömülü bir grafik oluşturacaktır:

12345678 Sub CreateEmbeddedChartUsingShapesAddChart()Gömülü grafiği Şekil Olarak karartGömülü grafiği ayarla = Sayfalar("Sayfa1").Shapes.AddChartgömülüchart.Chart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B4")Alt Bitiş

VBA Kullanarak Bir Grafik Türü Belirtme

Aşağıda gösterilen kaynak verileri içeren A1:B5 aralığına sahibiz:

ChartType Özelliğini kullanarak bir grafik türü belirleyebilirsiniz. ChartType Özelliği xlPie olarak ayarlandığından, aşağıdaki kod çalışma sayfasında bir pasta grafiği oluşturacaktır:

123456789 Alt SpecifyAChartType()Dim chrt As ChartObjectSet chrt = Sheets("Sheet1").ChartObjects.Add(Sol:=180, Genişlik:=270, Üst:=7, Yükseklik:=210)chrt.Chart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B5")chrt.Chart.ChartType = xlPieAlt Bitiş

Sonuç:

Diğerleri olmasına rağmen, genellikle belirtilen popüler grafik türlerinden bazıları şunlardır:

  • xlAlan
  • xlPasta
  • xlline
  • xlRadar
  • xlXYScatter
  • xlYüzey
  • xlKabarcık
  • xlBarKümelenmiş
  • xlSütunKümelenmiş

VBA Kullanarak Grafik Başlığı Ekleme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Önce Chart.SetElement yöntemini kullanarak bir grafik başlığı eklemeniz ve ardından ChartTitle.Text özelliğini ayarlayarak grafik başlığının metnini belirtmeniz gerekir.

Aşağıdaki kod, nasıl bir grafik başlığı ekleyeceğinizi ve Aktif Grafik başlığının metnini nasıl belirleyeceğinizi gösterir:

123456 Alt AddingAndSettingAChartTitle()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Ürünün Satışı"Alt Bitiş

Sonuç:

Not: ActiveChart nesnesini kodunuzda kullanabilmek için önce grafiği Active Chart yapmak için seçmelisiniz.

VBA Kullanarak Grafik Arka Plan Rengini Değiştirme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

ChartArea nesnesinin FillFormat nesnesinin RGB özelliğini ayarlayarak tüm grafiğin arka plan rengini değiştirebilirsiniz. Aşağıdaki kod, grafiğe açık turuncu bir arka plan rengi verecektir:

12345 Alt EklemeABackgroundColorToTheChartArea()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB(253, 242, 227)Alt Bitiş

Sonuç:

ChartArea nesnesinin Interior nesnesinin ColorIndex özelliğini ayarlayarak tüm grafiğin arka plan rengini de değiştirebilirsiniz. Aşağıdaki kod, grafiğe turuncu bir arka plan rengi verecektir:

12345 Alt EklemeABackgroundColorToTheChartArea()ActiveChart.ChartArea.Interior.ColorIndex = 40Alt Bitiş

Sonuç:

Not: ColorIndex özelliği, ön ayar paletinden çizilen 1'den 56'ya kadar bir değere dayalı olarak bir renk belirlemenize olanak tanır, hangi değerlerin farklı renkleri temsil ettiğini görmek için burayı tıklayın.

VBA Kullanarak Grafik Plot Alanı Rengini Değiştirme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

PlotArea nesnesinin FillFormat nesnesinin RGB özelliğini ayarlayarak grafiğin yalnızca çizim alanının arka plan rengini değiştirebilirsiniz. Aşağıdaki kod, grafiğin çizim alanına açık yeşil bir arka plan rengi verecektir:

12345 Alt EklemeABackgroundColorToThePlotArea()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB(208, 254, 202)Alt Bitiş

Sonuç:

VBA Kullanarak Efsane Ekleme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Chart.SetElement yöntemini kullanarak bir gösterge ekleyebilirsiniz. Aşağıdaki kod, grafiğin soluna bir gösterge ekler:

12345 Alt EklemeALegend()ActiveChart.SetElement (msoElementLegendLeft)Alt Bitiş

Sonuç:

Göstergenin konumunu aşağıdaki şekillerde belirleyebilirsiniz:

  • msoElementLegendLeft - göstergeyi grafiğin sol tarafında görüntüler.
  • msoElementLegendLeftOverlay - göstergeyi grafiğin sol tarafına yerleştirir.
  • msoElementLegendRight - göstergeyi grafiğin sağ tarafında görüntüler.
  • msoElementLegendRightOverlay - göstergeyi grafiğin sağ tarafına yerleştirir.
  • msoElementLegendBottom - göstergeyi grafiğin altında görüntüler.
  • msoElementLegendTop - göstergeyi grafiğin en üstünde görüntüler.

VBA Kullanarak Veri Etiketleri Ekleme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Chart.SetElement yöntemini kullanarak veri etiketleri ekleyebilirsiniz. Aşağıdaki kod, grafiğin iç ucuna veri etiketleri ekler:

12345 Alt EklemeADataLabels()ActiveChart.SetElement msoElementDataLabelInsideEndAlt Bitiş

Sonuç:

Veri etiketlerinin nasıl konumlandırılacağını aşağıdaki şekillerde belirleyebilirsiniz:

  • msoElementDataLabelShow - veri etiketlerini görüntüleyin.
  • msoElementDataLabelRight - grafiğin sağ tarafında veri etiketlerini görüntüler.
  • msoElementDataLabelLeft - grafiğin solunda veri etiketlerini görüntüler.
  • msoElementDataLabelTop - grafiğin en üstünde veri etiketlerini görüntüler.
  • msoElementDataLabelBestFit - en uygun olanı belirler.
  • msoElementDataLabelBottom - grafiğin altında veri etiketlerini görüntüler.
  • msoElementDataLabelCallout - veri etiketlerini belirtme çizgisi olarak görüntüler.
  • msoElementDataLabelCenter - veri etiketlerini merkezde görüntüler.
  • msoElementDataLabelInsideBase - iç tabandaki veri etiketlerini görüntüler.
  • msoElementDataLabelOutSideEnd - grafiğin dış ucundaki veri etiketlerini görüntüler.
  • msoElementDataLabelInsideEnd - grafiğin iç ucundaki veri etiketlerini görüntüler.

VBA'da X ekseni ve Başlık ekleme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Chart.SetElement yöntemini kullanarak bir X ekseni ve X ekseni başlığı ekleyebilirsiniz. Aşağıdaki kod, grafiğe bir X ekseni ve X ekseni başlığı ekler:

123456789 Alt EklemeAnXAxisandXTitle()ActiveChart ile.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalİle bitmekAlt Bitiş

Sonuç:

VBA'da Y ekseni ve Başlık ekleme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Chart.SetElement yöntemini kullanarak bir Y ekseni ve Y ekseni başlığı ekleyebilirsiniz. Aşağıdaki kod, grafiğe bir Y ekseni ve Y ekseni başlığı ekler:

1234567 Alt EklemeAYAxisandYTitle()ActiveChart ile.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalİle bitmekAlt Bitiş

Sonuç:

Bir Eksenin Sayı Biçimini Değiştirme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Bir eksenin sayı biçimini değiştirebilirsiniz. Aşağıdaki kod, y ekseninin sayı biçimini para birimine değiştirir:

12345 Alt ChangingTheNumberFormat()ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "$#,##0.00"Alt Bitiş

Sonuç:

Bir Grafikte Yazı Tipinin Biçimlendirmesini Değiştirme

Aşağıda gösterildiği gibi çalışma sayfasında aşağıdaki grafiği seçtik:

Yazı tipi nesnesine başvurarak ve adını, yazı tipi ağırlığını ve boyutunu değiştirerek tüm grafik yazı tipinin biçimlendirmesini değiştirebilirsiniz. Aşağıdaki kod, tüm grafiğin yazı tipinin türünü, ağırlığını ve boyutunu değiştirir.

12345678910 Alt DeğiştirmeTheFontFormatting()ActiveChart ile.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = Doğru.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14İle bitmek

Sonuç:

VBA Kullanarak Bir Grafiği Silme

Aşağıda gösterildiği gibi çalışma sayfasında seçilen bir grafiğimiz var:

Bu grafiği silmek için aşağıdaki kodu kullanabiliriz:

12345 Alt SilmeTheChart()ActiveChart.Parent.DeleteAlt Bitiş

ChartObjects Koleksiyonuna başvurma

ChartObjects koleksiyonuna başvurarak çalışma sayfanızdaki veya çalışma kitabınızdaki tüm gömülü grafiklere erişebilirsiniz. Aşağıda gösterilen aynı sayfada iki grafiğimiz var:

Çalışma sayfasındaki her iki grafiğe aynı yükseklik, genişlik vermek, kılavuz çizgilerini silmek, arka plan rengini aynı yapmak, grafiklere aynı çizim alanı rengini vermek ve çizim alanı çizgi rengini aynı yapmak için ChartObjects koleksiyonuna başvuracağız. renk:

12345678910111213141516 Sub ReferringToAllTheChartsOnASheet()Dim cht As ChartObjectActiveSheet.ChartObjects içindeki her cht içincht.Yükseklik = 144.85cht.Genişlik = 246.61cht.Chart.Axes(xlValue).MajorGridlines.Deletecht.Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB(242, 242, 242)cht.Chart.ChartArea.Format.Fill.ForeColor.RGB = RGB(234, 234, 234)cht.Chart.PlotArea.Format.Line.ForeColor.RGB = RGB(18, 97, 172)Sonraki ktAlt Bitiş

Sonuç:

Kendi Grafik Sayfasına Grafik Ekleme

Aşağıda gösterilen kaynak verileri içeren A1:B6 aralığına sahibiz:

Charts.Add yöntemini kullanarak bir grafik oluşturabilirsiniz. Aşağıdaki kod, kendi grafik sayfasında bir grafik oluşturacaktır:

123456 Alt EklemeAChartOnItsOwnChartSheet()Sayfalar("Sayfa1").Aralık("A1:B6").SeçGrafikler.EkleAlt Bitiş

Sonuç:

Diğer grafik öğreticilerimizden bazılarına bakın:

Excel'deki Grafikler

VBA'da bir Çubuk Grafik Oluşturun

wave wave wave wave wave