Access'ten excele PIVOT export hakkinda

Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Access modülde kod atliyor..

Merhaba arkadaslar,

Access modülü ile excelde pivot table hazirliyorum ancak bir yerde takildim ki o da su;

Pivot Table'da bulunan SUBTOTALS'lerin formatini bir türlü degistiremiyorum.

Excelde bu kodlar calisiyor;

ActiveSheet.PivotTables("PivotTable1").PivotSelect Form_MainPage.Text110.Value & "[All;Total]", _
xlDataAndLabel, True

With Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Selection.End(xlToLeft).Select

Ancak bunu Access modülde calistirmayi deniyorum with'e kadar calisiyor with'ten itibaren kodu atliyor. Selectionlarin önüne "." koyarak denedim yine olmadi. Hatta yine "selection" larin önünde ".ActiveSheet.PivotTables("PivotTable1")." yazarak denedim yine olmuyor. Format degismiyor.

Modülde

.ActiveSheet.PivotTables("PivotTable1").PivotSelect Form_MainPage.Text110.Value & "[All;Total]", _
xlDataAndLabel, True


kodlari ile SUBTOTALS'lari sectirebiliyorum ama formatini (renk) degistiremiyorum..Bu koddan sonra hangi kodlar gelmelidir?

Yardimlariniz icin simdiden tesekkürler..
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Merhaba arkadaslar,

Bir baska yöntemle yani,

sub pivotexport ()

DoCmd.OpenForm "Deneme", acFormPivotTable
DoCmd.RunCommand acCmdPivotTableExportToExcel


End sub

kodlari ile de accessten excele accessteki bir formu pivot tablosu olarak export ediyorum. Daha dogrusu ".HTM" uzantili olarak fakat excel formatiyla transfer oluyor.

Sistem ".HTM" uzantili dosyaya otomatik export yapacagina dogrudan bir excel acarak acilan bu excel dosyasinin icine nasil export yaptirabilirim?

Sunun icin soruyorum eger tabloyu adini kendi belirleyeyebilecegim bir excele export yaptirabilirsem yine kodlar yardimiyla bu excel üzerinde degisiklikler yapabilirim.Tablo ".HTM" uzantisiyla export olunca müdahale edemiyorum.

Simdiden tesekkürler..
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Ben size başka bir seçenek önereyim.
Analadığım kadarıyla sizin verileriniz her zaman Access'te olacak ve Excel'de sadece Pivot olarak görmek istiyorsunuz.

O zaman Excel'e Access'teki verileri otomatik olarak "Dış Veri Al" ile aldırabilirsiniz ve bu verileri kullanan Pivot'u daha önceden bir kere hazırlarsınız.
Böylece her seferinde Pivot hazırlamadan, sadece verileri yenileyerek
istediğiniz excel tablosu hazır olmuş olur ve sadece Access'ten bir tuşla
o excel tablosunu açarsınız.

Excel'deki verilerinde dosya her açıldığında Access'ten verileri yenile seçeneğini işaretlerseniz sorun kalmaz bence. (Ayrıca şu kadar saniye de yenile diye bir seçenek daha var Dış Veri Al'da veya sağ tuşla yenile)

Excel'de Veri Menüsündeki "Dış Veri Al" seçeneğini ve Veri Al'ı seçin.
Orada Access Veritabanları seçeneğini göreceksiniz ve İstediğiniz MDB'yi seçtiğinizde, tüm tablolar ve sorgular karşınıza gelir ve excel'e bağlayabilirsiniz bu verileri.

Ne dersiniz, sizin işinizi görür mü?
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Ayrıca şimdi bakarken gördüm.

Excel'de pivot tablo yaparken direkt olarak Access'teki tablo ve sorguları kullanarak Pivot yapma seçeneği var. (Dış kaynaktan veri)

Bunu kullanmayı denediniz mi?
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Ancak söyle bir durum var. Hazirladigim programi baskalari da raporlama icin kullanacak ve ben her hafta kendilerine sadece tek bir dosya göndermeliyim o da ACCESS dosyasi. Dolayisiyla önceden hazirlanmis herhangi bir excel veya herhangi 2. bir dosya olmamali. Bundan dolayi belirttiginiz gibi önceden hazirlanmis bir excel kullanamam. ACCESS üzerinden calisma esnasinda excel dosyasi yaratilip gerekli pivot tablolari olusturulmali.

Isin asli özetle bu. Yukaridaki ilk mesajimda belirttigim gibi aslinda veri transferi ve pivot tablo olusturmada sorun yok bunu basardim. Sadece formatta takildim kaldim. Özellikle ilk mesajdaki sorunu gecebilirsem olay %90 hallolmus olacaktir.
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Aslinda sizin fikrinizi zaten access üzerinden bir formu pivot tablo seklinde excele export ederek uygulamaya calistim. Ama yine karsima format sorunu cikiyor. Bunu da diger mesajimda dosya ".HTM" uzantili geliyor diye bahsetmistim.

Hangi yolu denersem deneyeyim pivot tablosunun excele transferinden ya da excelde olusturulmasindan sonra bu pivot tablosunun formatini düzenlemekte takilip kaliyorum.

Özellikle ilk mesajimdaki sorunu cözebilmek olayi bitirecektir..
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Kodlarınızın tamamını göndermediğiniz için tahminime göre yorumlayayım.
Kodunuzun Excel object'sinin ExcelDosyasi olarak aşağıdaki gibi tanımlandığını kabul edersek,

Dim ExcelDosyasi As Object
Set ExcelDosyasi = CreateObject("Excel.Application")

Excel ile ilgili yazacağınız her kodun başında
"ExcelDosyasi."
ifadesi olması veya daha kısa yolla

With ExcelDosyasi
' .kodlar
End With

blokları arasında olması ve . ile başlaması gerekir.
Buna göre kodunuzu şu şekilde kendinize göre değiştirip deneyin.


Kod:
With ExcelDosyasi

   .ActiveSheet.PivotTables("PivotTable1").PivotSelect Form_MainPage.Text110.Value & "[All;Total]", xlDataAndLabel, True

   With .Selection.Interior
        .ColorIndex = 40
        .Pattern = xlSolid
   End With
   .Selection.Font.Bold = True
   .Selection.End(xlToLeft).Select
End With
Excel deki makrolardan alacağınız her kodu

With ExcelDosyasi
End With

kodları arasına kopyalamalı ve başlarına . koymayı unutmamalısınız.
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Üzerinde calistigim dosyadan bir örnegi ekledim. Modülü calistirinca nerede ne sekilde takildigimi daha net görebilirsiniz. Bundan sonrasi icin yardiminizi siddetle rica ediyorum cünkü son mesajinizda belirttiginiz hususlari da denedim olmadi.
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Ben size bir örnek gönderiyorum, bende çalışıyor ve sanırım istediğinizi yapıyor.
Ancak sizin gönderdiğiniz tabloda ufak değişiklikler yaptım düzgün bir Pivot yapabilmek için. Toplam2007 ve Toplam2008 yerine YIL ve TUTAR alanları ekledim ki bu şekilde Pivot mantığına daha uygun oluyor.

Örneği inceleyin, anlamadığınız yer olursa bakalım.

Bu arada ben VBA'de referans olarak "Microsoft Excel Object 10.0" kullandım,
sizde sanırım 11.0 kullanılıyor olabilir, sorun yaparsa değiştirmelisiniz. Olmazsa yazın.

Sizin mesajınızdan önce sizin için çalışıyordum, onun için son mesajınızı incelemedim henüz.
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Öncelikle ilginiz icin tesekkürler..

Inceledigim kadariyla siz direkt excel hücrelerini (Sütunlari) secerek formatlama yöntemini uygulamissiniz. Ancak benim istedigim bu degil formatlanacak hücreler veya satirlar pivot tablosu üzerinden secilmeli.

Benim gönderdigim accesteki modülü calistirdiysaniz göreceksiniz ki pivot tablosunun ara toplamlarini sectirebiliyoruz is sadece secili alanlarin formatini degistirmeye kaliyor..

Cözüm sizin de belirttiginiz gibi bu kodlarin icinde olmali diye tahmin ediyorum ama nasil?

With ExcelDosyasi

.ActiveSheet.PivotTables("PivotTable1").PivotSelect "Expr1[All;Total]", xlDataAndLabel, True

With .Selection.Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
.Selection.Font.Bold = True
.Selection.End(xlToLeft).Select
End With
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Siz benim örneği henüz incelememişsiniz, çünkü Görüntülenme=0 olarak görünüyor hala :(

Siz benim örneğimi inceleyin, ben de sizinkini.

Gönderdiğiniz örnekte, sadece tablo ve module var.
Yazdığınız fonksiyonu direkt çalıştıramıyorum haliyle.
Ayrıca makro ekleyip ancak deneyebiliyorum.

Hiç yardımcı olmadığınızı belirteyim.
 
Son düzenleme:
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
hayir inceledim cok süphecisiniz :)) ..dosyaniza bir userform eklemissiniz..Tablolarda "Reports_B_sizinki" diye adlandirmissiniz..Kodlarin son bölümünde C,D ve E kolonlarini secerek rakam formatlarini degistirmissiniz..Görüntülenmenin neden "0" gözüktügü konusunda bir fikrim yok ancak dosyanizi inceledim..
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Modülün icerisine girip play yani "Run Sub/Userform" tusuna basinca modül calisiyor. Ben bu sekilde test ediyorum sürekli.
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
Şimdi görüntülenme=1 olmuş. Sanırım geç güncelleniyor, pardon.
İnsan işinin arasında başka birine yardımcı olmak için zaman ayırıp, çaba harcadıktan sonra yaptığı çalışmaya bakılmadığını sanınca sinir oluyor.

Doğru "Run Sub/Userform" ile çalışıyor, o da gözümden kaçmış.

Sizin örneğinize baktım, temelde aynı şeyi yapmışız, pek bir fark yok.
Ama sizin pivot yapılacak alan seçiminiz daha iyi, ben henüz çözmemiştim onu.

.ActiveSheet.PivotTables("PivotTable1").PivotSelect "Expr1[All;Total]", xlDataAndLabel, True
.Selection.Interior.ColorIndex = 3
.Selection.Font.Bold = True

PivotSelect komutundan sonra .Selection ile istenilen formatın yapılabilmesi lazım. Ama nedense bende çalışmadı ama hata da vermedi. Nette yaptığım araştırmalardaki örneklerde de aynı şekilde kullanılmış.
Mesela:
http://www.edferrero.com/ExcelTutorials/PivotTableTutorial972000/tabid/93/Default.aspx
pvtTable.PivotSelect pvtField, xlDataOnly
Selection.NumberFormat = "# ##0"

Ayrıca:
http://www.excel.web.tr/archive/index.php/t-11647.html
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Linkleri inceleyecegim umarim birseyler yakalayabilirim..
 
Katılım
8 Eylül 2006
Mesajlar
155
Excel Vers. ve Dili
Excel 2002
evet, araştırırken şöyle bir şey buldum ve bende çalıştı.
Pivot table için 6 nolu autoformat uyguluyor

.ActiveSheet.PivotTables("PivotTable1").Format xlReport6

http://www.pcreview.co.uk/forums/thread-1007852.php

xlReport6 is a constant associated with a table format
(Auto Format). Examples of the formats can be seen by
righ clicking anywhere in the Pivot table and looking at
format report. Using these special formats allows you to
flip the pivot table around without loosing the formating
you've done. So, you can pick any color scheme and
formatting you like and set the format with code then use
a bit more code to layout the pivot table as you like
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
".ActiveSheet.PivotTables("PivotTable1").Format xlReport6" bu örnek maalesef cözüm olmadi pivotun formatini komple degistiriyor :( digerlerini de inceleyecegim..
 
Katılım
13 Mayıs 2008
Mesajlar
141
Excel Vers. ve Dili
Microsoft Office Excel 2003
Maalesef diger linklerde de birsey yok :( yani en azindan cözmeye calistigimiz sorun icin..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Neden excel kullanmakta ısrar ediyorsunuz?

Neden Accessin özet tablosunu kullanmıyorsunuz?

Excel de de bir sayfaya verileri yollayın, diğer sayfada ise özet tablonuz olsun (formatlanmış olarak).
 
Üst