Excel içerisinde oluşturulan pivot table için daha önceki zamanlarda hücrelere verilen koşulların yeterli olduğu görülüyordu. 2007 ile birlikte refresh edilen pivot table içerisinde sorunlar yaşanabiliyor. Fakat bu noktada bir önemli özellik ortaya çıkıyor.
Şimdi sırası ie pivot table içerisinde tek bir sütuna ait nasıl koşullu formatlama yapılabileceğini görelim ve sonrasında bunların makro kodlarını inceleyelim.
Öncelikle basit bir veri oluşturalım.
Burada yer alan çalışma verilerini kişi ve konu bazında pivot tablo içerisinde gösterelim.
Tüm bu veriler içerisinde saat olarak 9 değerinin üzerinde değer gösteren kısımların kırmızı ile renklendirilmesi için koşullu format ifadesi girelim. Bu ifade değerlerden ilkinin olduğu B5 hücresi üzerinde iken gerçekleştirilecektir.
Bu işlem sonunda B5 hücresinin yanında aşağıdaki şekilde bir ifade yer alacaktır.
Bu işaretin yan tarafında bulunan ok tuşuna basıldığında 3 farklı seçenek sunulmaktadır. Yapacağınız işleme göre bu seçeneklerden biri ile işleme devam edebilirsiniz.
Şimdi gelelim tüm bu işlemler için oluşturulmuş olan makroları incelemeye. Bunun için de bu işlemleri yaparken makro kaydet seçeneğini kullandığımızı hatırlatalım.
Pivot Tablo Oluşturma Kodları
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
“Sheet1!R1C1:R16C4″, Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:=”Sheet5!R3C1″, TableName:=”PivotTable2″, DefaultVersion _
:=xlPivotTableVersion12
Sheets(“Sheet5″).Select
Cells(3, 1).Select
With ActiveSheet.PivotTables(“PivotTable2″).PivotFields(“Ad”)
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables(“PivotTable2″).PivotFields(“Konu”)
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables(“PivotTable2″).AddDataField ActiveSheet.PivotTables( _
“PivotTable2″).PivotFields(“Çalışma Saati”), “Sum of Çalışma Saati”, xlSum
Koşullu Formatın İlk Hücre İçin Oluşturulması
Range(“B5″).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
Formula1:=”=9″
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Pivot Seçeğinin Genişletilmesi
1. Seçenek
Selection.FormatConditions(1).ScopeType = xlSelectionScope
2. Senenek
Selection.FormatConditions(1).ScopeType = xlDataFieldScope
3. Seçenek
Selection.FormatConditions(1).ScopeType = xlFieldsScope
Bir sonraki yazımızda bu kodların nasıl değiştirilebileceğini ve kullanılabileceğini ele alacağız.
Süleyman TOSUN, PMP
















