Posts Tagged ‘Excel Makro’
Haz
13

Excel içerisinde hazırlanmış olan makrolar bazı durumlarda bizim için ciddi riskler taşıyabilir. Öncelikle bu amaçla güvenlik seviyesi kontrolleri çok önemlidir. Eğer güvenlik seviyeniz makro içeren bir excel dosyasının içerisindeki kodların etkinleştirilmesinde sizin onayınızı almadan işlem yapabilen düşük durumunda ise böyle bir dosya ile sizin bilgisayarınızda bu makro kodları ile bir çok gizli bilgiye ulaşmak, bunları mail ile almak, silmek, değişiklik yapmak vb. mümkündür.

Bu sebeple güvenlik seviyenizi mutlaka kontrol etmenizi tavsiye ediyorum. Her ihtimale karşın dosyanın güvenli olduğu durumlarda bile bazen işlemi durdurmak, özellikle kodlamada yer alan sorunlardan dolayı oluşan sonsuz döngülerden kurtulmak için makroyu durdurmanız gerekecektir.

Excel içerisinde çalışan bir makroyu durdurmak için Ctrl + Alt + Pause(Break) tuşlarına birlikte basmanız gerekmektedir.

Süleyman TOSUN, PMP

,

Eki
26

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

,