Excelde pivot table hazırlanması, design, format, makro kodları vb. bilgileri anlatacağımız bu seride ilk olarak pivot table makrolarla kullanımında önemli konular nelerdir başlığını ele alacağız.
1. Pivot table exceldeki verilerinizin raporlanmasını kolay ve görsel bir biçimde sağlayan bir fonksiyondur. Öncelikle verileri alacağınız sayfayı bir database olarak düşünebilirsiniz, bu database içerisinde yer alacak tüm verilerin sütun başlıklarının belirtilmesi gerekmektedir. Bu sütun başlıkları raporlamada ayrı kolonlar olarak kullanılacaktır.
2. Seçeceğiniz alan daha sonradan genişleyecek ve yeni veriler ekleyecekseniz alanı daraltmak veya daha geniş alan seçmek konusunda dikkat etmeniz gerekecektir. Özellikle makro kodlarında pivot oluşturduktan sonra kodlarla refresh yapılması durumunda pivotun son satırının hangi satır olduğunun tespit edilmesi önemlidir. Aksi takdirde yeni eklenecek bilgiler eski belirtilen sınırların dışında kalabilir. Bunu sağlamak için sütunlar içerisinde count özelliğini kullanabilir veya ayrıca kodlarla bu satırı tespit edebilirsiniz.
3. Blank olarak belirtilen hücrelerin de raporlarda yer alacağını düşünerek oluşturduğunuz pivot table üzerinden kodlama yapacaksanız bu alanda Grand Total, Sub Total ve Blank seçeneklerinin de olacağını düşünerek buna göre dizi veya değişkenlerinizi set etmeniz gerekecektir.
4. Verilerin makrolarda kullanılmasını sağlamak amacıyla (pivot table veri alanı olarak yer alacaksa), en iyi gösterim tabular form olacaktır.
5. Pivot Table verilerinin refresh edilmesi ile ilgili bilgileri otomatik veya sadece istenildiğinde şeklinde set etmek alınacak önemli bir karardır. Ayrıca her bir yenileme işlemi ile birlikte yeni kolonlar eklenecekse bu durumda pivotun yanında olan diğer bilgileri otomatik olarak kaybetme ihtimali bulunmaktadır. Bu sebeple yeni alan ekleme öncesinde yeterli boş sütun olup olmadığı düşünülmeli veya yeni sütun eklemek için kodlar kullanılmalıdır.
Aşağıda genel olarak kullanılabilecek kodların yapısının tanıtılması için örnekler eklenmiştir.
Pivot Table Eklemek İçin
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
“Veriler!R2C1:R41C1″, Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:=”Sheet1!R3C1″, TableName:=”PivotTable1″, DefaultVersion _
:=xlPivotTableVersion12
Field List Gösterim
ActiveWorkbook.ShowPivotTableFieldList = True
Veri Değişiklik
ActiveSheet.PivotTables(“PivotTable1″).ChangePivotCache ActiveWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
“Ver,!R4C1:R41C19″ _
, Version:=xlPivotTableVersion12)
Tabular Form Gösterim
ActiveSheet.PivotTables(“PivotTable1″).PivotFields( _
“Alan”).LayoutForm = xlTabular
Otomatik Refresh
ActiveSheet.PivotTables(“PivotTable1″).PivotCache.RefreshOnFileOpen = True
Format Condition
Selection.FormatConditions.AddIconSetCondition
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1)
.ReverseOrder = False
.ShowIconOnly = False
.IconSet = ActiveWorkbook.IconSets(xl3Arrows)
End With
With Selection.FormatConditions(1).IconCriteria(2)
.Type = xlConditionValuePercent
.Value = 33
.Operator = 7
End With
With Selection.FormatConditions(1).IconCriteria(3)
.Type = xlConditionValuePercent
.Value = 67
.Operator = 7
End With
Tablo Görünüm
ActiveSheet.PivotTables(“PivotTable1″).TableStyle2 = “PivotStyleMedium11″
Alanları Eklemek
ActiveSheet.PivotTables(“PivotTable1″).AddDataField ActiveSheet.PivotTables( _
“PivotTable1″).PivotFields(“Alan1″), “Sum of Alan1″, xlSum
Grafik Eklemek
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range(“‘Sheet1′!$A$3:$B$33″)
ActiveWorkbook.ShowPivotChartActiveFields = True
ActiveChart.ChartType = xlColumnClustered