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.
 
Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
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 ?
 
Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
Üstatlar selamlar,

Buna neden cevap yazmadınız :))

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

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
Ü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 ?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Valla ne diyeyim muhterem...... o zaman; tablonuzu seçerken aşağıya doğru fazladan 5000 satır daha seçin.

.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

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

.
 
Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,246
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
21 Mart 2013
Mesajlar
205
Excel Vers. ve Dili
Microsoft Excel Professional Plus 2016 - İngilizce
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ı.
 
Üst