ayrı sayfalardaki aynı verileri toplatmak

Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
arkadaşlar ve üstadlar selamlar sorunum şu >>
benim 10 ayrı çalışma kitabım var ve bir tanede ana dosyam var ve bu dosyaların tabloları birbirinin aynı sadece kitap adları farklıdır ana dosyada bu çalışma kitaplarının adının yazılı olduğu sütun var ve karşılarında da bu kitaplardaki değerler var fakat takdir edersiniz ki formülasyonla yaptığımızda hesaplaması zor oluyor bunu makro ile halletmenin bir yolu var mı yardımcı olursanız sevinirim ii çalışmalar ...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Ekteki örneği inceleyiniz.

Kodlar tamamen varsayımlar üzerine yazıldığı için kendinize uyarlamanız gerekecek.

Konuyu inceleyen diğer arkadaşların dikkatine: Makro direkt olarak çalıştırmaya uygun değildir.

Kod:
Sub Getir()
[COLOR=green]'Bu makroyu, isterseniz Thisworkbook'un Activate koduna yazarsınız.[/COLOR]
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set sh = Sheets("Sayfa1")
[COLOR=green]'Şu haliyle "Sayfa1" adlı sheet'e sonuçları yazıyor. Siz değiştirebilirsiniz.[/COLOR]
For i = 2 To 11
    kitapadi = sh.Cells(i, 1)
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
                            & ThisWorkbook.Path & "\" & kitapadi & ".xls;Extended Properties=" _
                            & """Excel 8.0;HDR=No;IMEX=1" & ";"""
[COLOR=green]   'VARSAYIM:Ana kitap ve diğer kitapların aynı dizin altında olduğu varsayılmıştır[/COLOR]
    conn.Open
      Sql = "SELECT * FROM [Sayfa1$A1:A1]"
[COLOR=green]     'VARSAYIM:Her kitapta; çekilecek bilgilerin "Sayfa1" sheet'indeki "A1" hücresinde olduğu kabul edilmiştir[/COLOR]
      'Siz kendinize uygun olarak değiştiriniz.
      rs.Open Sql, conn, adOpenStatic, adLockReadOnly
      sh.Cells(i, 1) = rs.GetRows 'rs(0)
[COLOR=green]     'Ana kitabınızda istediğiniz yeri referans göstererek, sonuçların yazdırılmasını sağlayınız.[/COLOR]
    conn.Close
Next i
Set conn = Nothing
Set rs = Nothing
Set sh = Nothing
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Örneği inceleyiniz.
Kod:
Sub test()
Sheets("sayfa1").Range("a1").Clear
For i = 2 To Workbooks.Count
Sheets("sayfa1").Range("a1") = Sheets("sayfa1").Range("a1") + Workbooks(i).Sheets("sayfa1").Range("a1")
Next
End Sub
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
sn fpc
Kod:
Set conn = New ADODB.Connection
satırında hata verdi sorun ne olabilir acaba...
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Tool->References 'den
(1) Microsoft ADO Ext. 2.8 fo DLL& Security
(2) Microsoft Activex Data Objet 2.8 Library'i işaretleyiniz.

Ama kodlar afaki hazırlandığı için, kendi dosya sisteminize uyarlamanız gerekebilir.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Sayfalar sabit ise aşağıdaki formülde işe yarayabilir.

=TOPLA(Sayfa2:Sayfa3!A1)
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
sn fpc hocam asıl yapmak istediğim şudur >>
ekteki gibi 10 ayrı banka hesabı için yapılmış dosyam var ve hepsinin satır ve sütun bölgeleri aynı.örneğin bir bankanın hareketlerini banka adının yer aldığı dosyaya girdiğimde o dosyanın özet tablosunun yer aldığı başka bir kitapta veriler listeleniyor.örneğin hareket gören sayfam DENEME olsun rapor kitabımda DENEME RAPOR olsun ve bir de anasayfam olsun ben bu ana sayfada belirlediğim tarihler arasındaki hareketleri tüm bu banka hareketlerinin yer aldığı kitaplardan alıp istediğim sütunların altına yazacak bu mümkün müdür acaba yani tek satırda toplam yapacak ? yardımcı olursanız sevinirim :roll:
NOT : Formülle yaptım fakat hesaplaması çok uzun zaman alıyor :)
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Dosyanızı görmeden birşey söylemek zor...

Siz "formüller dosyayı hantallaştırmasın" düşüncesinde olduğunuzdan, diğer dosyaları açık veya kapalı da olmasına bakmaksızın işleyecek uygun bir makro kullandık.

Tabiki formüllü veya başka alternatifler de geliştirilebilir.
 
Katılım
15 Ocak 2007
Mesajlar
791
Excel Vers. ve Dili
2003 excel visual basic
hocam dosyaları ekledim bilginize...
 
Üst