• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Pivot Makro

Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
flGrSoi.jpg


Kod:
FinalRow = Cells(Rows.Count, 1).End(x1Up).Row
    DateSheet ActiveSheet.Name
    Sheets.Add
    NewSheet = ActiveSheet.Name
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        DateSheet & "!R1C3:R" & FinalRow & "C16", Version:=xlPivotTableVersion10). _
        TableDestination: NewSheet & ="!R3C1" TableName:="PivotTable2" _
        , DefaultVersion:=xlPivotTableVersion10
    Sheets(NewSheet).Select
    Cells(3, 1).Select
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("YZAHAT7")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("YZAHAT8")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("YZAHAT1")
        .Orientation = xlRowField
        .Position = 3
    End With
    With ActiveSheet.PivotTables("PivotTable2").PivotFields("YZAHAT2")
        .Orientation = xlRowField
        .Position = 4
    End With
    ActiveSheet.PivotTables("PivotTable2").AddDataField ActiveSheet.PivotTables( _
        "PivotTable2").PivotFields("MYKTAR"), "Say MYKTAR", xlCount
End Sub

Makro ile pivot tablo oluşturmaya çalışıyorum fakat orada bir hata var düzeltemedim sorun nedir üstadlar ?
 
Sorun Excel versiyonunuzda.

Makronun yazıldığı excel versiyonu ile sizin kullandığınız Excel versiyonu aynı değil.

Ekte sarı ile belirttiğim yeri kendi versiyonunuza çevirin.

Kolay gelsin.
 

Ekli dosyalar

  • Capture.JPG
    Capture.JPG
    43.4 KB · Görüntüleme: 11
Sorun Excel versiyonunuzda.

Makronun yazıldığı excel versiyonu ile sizin kullandığınız Excel versiyonu aynı değil.

Ekte sarı ile belirttiğim yeri kendi versiyonunuza çevirin.

Kolay gelsin.

Öncelikle ilginiz için teşekkür ederim,

Makroyu excelden kaydederek oluşturdum ama araya bazı kodları elle giriş yaptım. Bunları aşağıda kırmızı renk ile belirttim üstadım. 2013 kullanıyorum.
Nasıl bir düzeltme yapacağım yönlendirirseniz sevinirim.

Saygılarımla

Kod:
[COLOR="red"]FinalRow = Cells(Rows.Count, 1).End(x1Up).Row
    DateSheet ActiveSheet.Name[/COLOR]
Sheets([COLOR="Red"]NewSheet[/COLOR]).Select
[COLOR="red"]DateSheet &[/COLOR] "!R1C3:R" & [COLOR="red"]FinalRow &[/COLOR] "C16",
[COLOR="red"]NewSheet & [/COLOR]
 
Örnek dosya ve örnek pivot tablomu eklesem, bunu makro ile ayarlanabilir mi

fjqiAoE.jpg
 

Ekli dosyalar

Merhaba Dostum,

Kodun aşağıdaki kısmında kırmızı ile işaret ettiğim yeri xlPivotTableVersion15 olarak değiştirmen gerek. Oradaki kısım Excel'in versiyonunu temsil eder. Gördüğüm kadarıyla sen Office2013 kullanıcısının senin yazman gereken versiyon 10 değil, 15.

Kod:
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        DateSheet & "!R1C3:R" & FinalRow & "C16", Version:=[COLOR="Red"]xlPivotTableVersion10[/COLOR]). _

Şimdi ekteki dosyayı incelediğim zaman, herhangi bir makro veya kod göremiyorum. İstediğin, gödermiş olduğun pivot table'ın makro ile sıfırdan oluşturulması mı?
 
Kod:
Sub CreatePivot()
'
' CreatePivot Makro
'

'
    Columns("B:O").Select
    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "stkgirrap.rpt!R1C2:R65536C15", Version:=xlPivotTableVersion10). _
        CreatePivotTable TableDestination:="Sayfa1!R3C1", TableName:="PivotTable1" _
        , DefaultVersion:=xlPivotTableVersion10
    Sheets("Sayfa1").Select
    Cells(3, 1).Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT7")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT8")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT1")
        .Orientation = xlRowField
        .Position = 3
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT2")
        .Orientation = xlRowField
        .Position = 4
    End With
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("a"), "Say a", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("i"), "Say i", xlCount
    With ActiveSheet.PivotTables("PivotTable1").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("m"), "Say m", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("t"), "Say t", xlCount
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("k"), "Say k", xlCount
    Range("A4").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT7").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("B4").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT8").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("C4").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT1").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("D4").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT2").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("E4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say a")
        .Caption = "Toplam a"
        .Function = xlSum
    End With
    Range("F4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say i")
        .Caption = "Toplam i"
        .Function = xlSum
    End With
    Range("G4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say m")
        .Caption = "Toplam m"
        .Function = xlSum
    End With
    Range("H4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say t")
        .Caption = "Toplam t"
        .Function = xlSum
    End With
    Range("I4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say k")
        .Caption = "Toplam k"
        .Function = xlSum
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
End Sub

Ek dosyayı yeniden gönderiyorum, kontrol edermisiniz

Bu arada evet sıfırdan makro oluşturunca ortaya bu çıkıyor.
 

Ekli dosyalar

Merhaba Dostum,

Aşağıdaki makroyu dener misiniz ve hata verdiği satırları söyler misiniz?

Kolay gelsin.


Kod:
Sub CreatePivot()

Dim milady1 As Worksheet, meric1 As Worksheet
Dim milady2 As String, meric2 As String

Set milady1 = Sheets("stkgirrap.rpt")
Set meric1 = Sheets.Add

milady1.Activate
milady1.Columns("B:O").Select

milady2 = milady1.Name & "!R1C2:R65536C15"
meric2 = meric1.Name & "!R3C1"

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=milady2, _
Version:=xlPivotTableVersion14). _
        CreatePivotTable TableDestination:=meric2, TableName:="PivotTable1" _
        , DefaultVersion:=xlPivotTableVersion14
        
    meric1.Select
    
    Cells(3, 1).Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT7")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT8")
        .Orientation = xlRowField
        .Position = 2
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT1")
        .Orientation = xlRowField
        .Position = 3
    End With
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT2")
        .Orientation = xlRowField
        .Position = 4
    End With
    
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("a"), "Say a", xlCount
    
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("i"), "Say i", xlCount
    
    With ActiveSheet.PivotTables("PivotTable1").DataPivotField
        .Orientation = xlColumnField
        .Position = 1
    End With
    
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("m"), "Say m", xlCount
    
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("t"), "Say t", xlCount
    
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("k"), "Say k", xlCount
    
    Range("A4").Select
    
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT7").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("B4").Select
    
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT8").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("C4").Select
    
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT1").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("D4").Select
    
    ActiveSheet.PivotTables("PivotTable1").PivotFields("YZAHAT2").Subtotals = Array _
        (False, False, False, False, False, False, False, False, False, False, False, False)
    Range("E4").Select
    
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say a")
        .Caption = "Toplam a"
        .Function = xlSum
    End With
    
    Range("F4").Select
    
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say i")
        .Caption = "Toplam i"
        .Function = xlSum
    End With
    Range("G4").Select
    
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say m")
        .Caption = "Toplam m"
        .Function = xlSum
    End With
    Range("H4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say t")
        .Caption = "Toplam t"
        .Function = xlSum
    End With
    Range("I4").Select
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Say k")
        .Caption = "Toplam k"
        .Function = xlSum
    End With
    ActiveWorkbook.ShowPivotTableFieldList = False
End Sub
 
lcy33I0.jpg


Makroyu çalıştırdığımda bu şekilde hata uyarısı alıyrorum
 
Günaydın,

Kodu denedim çalışıyor ve sorun isimlerden kaynaklanıyor. PivotTable'ı olulturduğunuz tablodaki isimleri update etmenizi rica edicem.

Lütfen Türkçe Karakter kullanmayınız.
 
Excel 2010 TR kullanıyorum, ben de sorun yok düzgün çalışıyor.

Sayın Milady Meriç katkınız için teşekkürler.
 
Excel 2010 TR kullanıyorum, ben de sorun yok düzgün çalışıyor.

Sayın Milady Meriç katkınız için teşekkürler.

Rica ederim,

Sayın Baggwell,

Lütfen siz kodları "xlPivotTableVersion14" yazan kısımları "xlPivotTableVersion15" olarak çalıştırın.
 
Geri
Üst