• DİKKAT

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

Makro Kaydet derken Pivot aldığımda tüm verileri almasını sağlamak

Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
Değerli arkadaşlar merhaba,

Makro kaydet diyerek kullanışlı bir şeyler hazırlamaya çalışıyorum.

Pivot çektiğimde başka bir raporda aynı makroyu kullanmak istersem belli satıra katar pivotu aldığını gördüm.

Makroyu kaydederken kullandığım raporda 500 satır varsa, başka bir raporda 550 satır varsa gene 500 satıra kadar alıyor.

Rapordaki tüm verileri pivota dahil etmesi için makro kaydederken ne yapmam gerekir ?

Saygılarımla.
 
Makro kodu bu şekilde mesela;

Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Dataset1!R1C1:R4222C6", Version:=6).CreatePivotTable TableDestination:= _
"Sheet1!R3C1", TableName:="PivotTable1", DefaultVersion:=6
Sheets("Sheet1").Select

4223 satır olursa eğer rapor bir satır eksik pivot çekecek.

Raporda ne kadar satır varsa onun tümünü pivota dahil etmesi için makro kaydet derken ne yapmalıyım üstatlar ?
 
Üstatlar selamlar,

Buna neden cevap yazmadınız :))

Aynı sorunum gene gündemde, işi bilen üstatların yardımlarını esirgememelerini ümit ediyorum.
 
Üstat Haluk selamlar,

@Haluk

İlginiz için öncelikle çok teşekkürler fakat kodlara bakarak yorum yapabilen biri değilim.

Ben makro kaydet diyerek makrolarımı hazırlıyorum, makro kaydet dedikten sonra nasıl bir yol izlemeliyim pivotun veri olan tüm satırları her ham veride alabilmesi için ?

Bir gün 500 satırlık ham veri koyacağım, başka bir gün 1050 satırlık ve makroyu çalıştırdığımda en son satıra kadar hepsini pivota dahil etmesi için ne yapmam gerekir ?
 
Valla ne diyeyim muhterem...... o zaman; tablonuzu seçerken aşağıya doğru fazladan 5000 satır daha seçin.

.
 
.

Verileriniz için Dinamik alan veya Tablo - Tablo kullanın.

.
 
Sayın @Haluk ve @İdris SERDAR ilginize teşekkür ederim.

İdris Bey'in tavsiyelerini excel bilgimin azlığından olsa gerek maalesef anlayamadım.

Pivotu 5000 satır daha aşağıdan almak makul bir çözüm gibi görünüyor.

Fakat şimdi yeni bir problem yaşıyorum. Makro kaydet diyerek makro kaydediyorum pivot çekip makroyu durduruyorum. Makroyu çalıştırdığımda Run-time error '1004' hatası alıyorum. Can't open PivotTable source file diyor aşağısında da excel dosyasının windows adresi yazıyor.

Debug'a tıkladığımda aşağıdaki kodları sarı vurguluyor:

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Online Fraud 'a Pos basari Ekle!R1C1:R23728C11", Version:=6). _
CreatePivotTable TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _
, DefaultVersion:=6

Sorunu çözmem için yardım ederseniz çok sevinirim.
 
Merhaba,

Şimdi boş excel dosyasında basit bir tablo oluşturdum. Tablonun içinde bir hücreyi seçtim. MAKRO KAYDET diyerek pivot almaya başladım. Zaten işleme başlarken tablonun üstünde bir hücre seçtiğim için excel otomatik olarak bütün tabloyu seçerek işleme devam etti.

Buna göre oluşan kodları aşağıdaki gibi düzenledim.

C++:
Option Explicit

Sub Create_Pivot_Table()
    Dim Tablo As String

    Tablo = ActiveSheet.Name & "!" & Range("A1").CurrentRegion.Address

    Sheets.Add
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Tablo, _
    Version:=6).CreatePivotTable TableDestination:=ActiveSheet.Name & "!R1C1", _
    TableName:="PivotTable1", DefaultVersion:=6
    
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Veri 1")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
    "PivotTable1").PivotFields("Veri 5"), "Sum of Veri 5", xlSum
End Sub
 
Sayın @Korhan Ayhan , çok teşekkürler ilginize.

Sizin paylaştığınız kodlar benim bir şeyi fark etmeme sebep oldu, üstteki mesajımda yazdığım "Can't open PivotTable source file" hata mesajının sebebi excel kağıdında kullandığım türkçe karakterlermiş. Excel kağıdının isminde "başarı" kelimesi geçiyordu onu "basari" yapınca makro hatasız çalışmaya başladı.
 
Geri
Üst