Grafik Oluşturma ve Ekleme
Microsoft Excel VBA ile grafik oluşturmak için iki ana yöntem bulunmaktadır: `ChartObjects.Add` ve `Charts.Add` kullanımı. `ChartObjects.Add` yöntemi, belirli bir çalışma sayfasına grafik eklemek için kullanılırken, `Charts.Add` yöntemi, yeni bir grafik nesnesi oluşturup düzenleme imkanı sunar.
`ChartObjects.Add` yöntemi, aşağıdaki biçimde kullanılabilir:
“`vba
Sub GrafikEkle()
Dim ws As Worksheet
Dim graf As ChartObject
Set ws = ThisWorkbook.Sheets(“Sheet1”)
Set graf = ws.ChartObjects.Add(Left:=100, Top:=50, Width:=375, Height:=225)
graf.Chart.ChartType = xlColumnClustered
graf.Chart.SetSourceData Source:=ws.Range(“A1:B5”)
End Sub
“`
Grafik Türlerinin Belirlenmesi
Grafik türleri, Excel’deki grafiklerin görsel sunumunu belirler. `ActiveChart.ChartType` özelliği kullanılarak, grafik türü değiştirilir. Örneğin, bir sütun grafiği, pasta grafiği veya çizgi grafiği oluşturmak mümkündür. Olası grafik türleri, Excel’de yer alan grafik türleri arasında şunlar bulunur:
– `xlColumnClustered` (Sütun Grafiği)
– `xlLine` (Çizgi Grafiği)
– `xlPie` (Pasta Grafiği)
– `xlBar` (Çubuk Grafiği)
Aşağıda aktif grafiğin türünü değiştirirken kullanılabilecek bir örnek verilmiştir:
“`vba
Sub GrafikTurunuDegistir()
Dim graf As ChartObject
Set graf = ThisWorkbook.Sheets(“Sheet1”).ChartObjects(1)
graf.Chart.ChartType = xlPie
End Sub
“`
Veri Seti Belirleme
Grafiklerde kullanılacak veri setlerini belirlemek için `ActiveChart.SetSourceData` yöntemi kullanılmaktadır. Bu yöntem, grafikteki verilerin hangi hücre aralığından alınacağını tanımlar. Aşağıdaki kodda, bir grafik için veri kaynaklarının belirlenmesi gösterilmektedir:
“`vba
Sub VeriKaynaklariniBelirle()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(“Sheet1”)
With ws.ChartObjects(1).Chart
.SetSourceData Source:=ws.Range(“A1:B10”)
End With
End Sub
“`
Grafik İçin Veri Seri Ekleme
Grafiklere bireysel veri serileri eklemek için `SeriesCollection` özelliği kullanılabilir. Bu yöntem, farklı veri serileri ile bir grafikte birden fazla bilgi sunma imkânı sağlar. Örneğin, aşağıdaki kod, bir grafiğe yeni bir veri serisi eklemektedir:
“`vba
Sub VeriSerisiEkle()
Dim graf As Chart
Set graf = ThisWorkbook.Sheets(“Sheet1”).ChartObjects(1).Chart
With graf.SeriesCollection.NewSeries
.Name = “Yeni Veri”
.XValues = ThisWorkbook.Sheets(“Sheet1”).Range(“C1:C5”)
.Values = ThisWorkbook.Sheets(“Sheet1”).Range(“C2:C6”)
End With
End Sub
“`
Grafik Biçimlendirme
Grafiklerin görsel olarak daha çekici hale gelmesi için biçimlendirme işlemleri de önemlidir. Renkler, etiketler, başlıklar ve diğer grafik elemanları üzerinde değişiklik yapmak, grafiklerin okunabilirliğini artırır. Aşağıdaki örnek, bir grafiğin başlığının ve eksen etiketlerinin nasıl değiştirilebileceğini göstermektedir:
“`vba
Sub GrafikBiçimlendir()
Dim graf As Chart
Set graf = ThisWorkbook.Sheets(“Sheet1”).ChartObjects(1).Chart
graf.HasTitle = True
graf.ChartTitle.Text = “Satış Verileri”
graf.Axes(xlCategory, xlPrimary).HasTitle = True
graf.Axes(xlCategory, xlPrimary).AxisTitle.Text = “Tarih”
graf.Axes(xlValue, xlPrimary).HasTitle = True
graf.Axes(xlValue, xlPrimary).AxisTitle.Text = “Satış Tutarı”
End Sub
“`
Grafik Güncelleme ve Silme
Tanımlanan grafiklerde güncelleme veya silme işlemleri de önemlidir. Var olan bir grafiği güncellemek için grafik özelliklerinde değişiklik yapmak yeterlidir. Bir grafiği silmek için ise `Delete` yöntemi kullanılabilir:
“`vba
Sub GrafikSil()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(“Sheet1”)
ws.ChartObjects(1).Delete
End Sub
“`
Kullanıcı Tanımlı Grafik
Excel VBA ile kullanıcı belirli grafik türlerini oluşturmasına veya dinamik графik oluşturmasına olanak verir. Örnek olarak, kullanıcıdan veri girişi alarak grafik oluşturmak mümkündür. Aşağıdaki gibi bir yapı, kullanıcıdan veri almayı sağlar:
“`vba
Sub DinamikGrafikOlustur()
Dim ws As Worksheet
Dim veriSayisi As Integer
Dim i As Integer
Set ws = ThisWorkbook.Sheets(“Sheet1”)
veriSayisi = InputBox(“Kaç veri noktası girmek istiyorsunuz?”, “Veri Sayısı”)
For i = 1 To veriSayisi
ws.Cells(i, 1).Value = InputBox(“X Değerini girin:”, “X Değeri”)
ws.Cells(i, 2).Value = InputBox(“Y Değerini girin:”, “Y Değeri”)
Next i
Call GrafikEkle
End Sub
“`
Yukarıda açıklanan yöntemler, Microsoft Excel VBA ile grafiklerle çalışma hakkında kapsamlı bir bilgi sunmaktadır. Grafiklerin yaratılması, biçimlendirilmesi ve güncellenmesi üzerinde detaylı bir kontrol sağlamaktadır. Grafik oluşturmada VBA kodları, Excel kullanıcılarına güçlü bir araç sunmaktadır.