• DİKKAT

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

Çalışma kitabındaki aynı sayfaları bir sayfada toplama

Katılım
25 Aralık 2007
Mesajlar
300
Excel Vers. ve Dili
2007 tr
Ayni çalışma kitabındaki iki koşulu bir sayfada nasıl toparlayabiliriz.

Ekte örnek bir dosya yapmaya çalıştım.

A ve B sütununda koşullar var sorgu dosyasında koşul_1 ve koşul_2 ye uyuyorsa,
sayfaları toplayarak sorgu tablosunda icmal etmeli.

Sayfaları ararken tamamını aramasına gerek yok her sayfada ilk 70 satıra baksa da yeterli olur ?

Yardımcı olabilecek arkadaşlara çok teşekkür ederim.
 

Ekli dosyalar

Merhaba,
Sub Topla()
Range("E5:E1000") = ""
For sayfa = 1 To Sheets.Count - 1
koşul = Cells(Rows.Count, "C").End(3).Row
For i = 5 To koşul
If WorksheetFunction.CountIf(Sheets(sayfa).Range("A:A"), Cells(i, 3)) = 0 Then GoTo 10
bul = Sheets(sayfa).Range("A:A").Find(Cells(i, 3)).Row
If Sheets(sayfa).Cells(bul, 2) = Cells(i, 4) Then
Cells(i, 5) = Cells(i, 5) + Sheets(sayfa).Cells(bul, 3)
End If
10
Next i
Next sayfa
End Sub
Kodu deneyiniz.
 
Muhammed bey teşekkür ederim, fakat aynı sayfada birden fazla aynı kriter varsa onun sadece bir tanesini getiriyor. yani aynı sayfada aynı kriterden çok varsa bunları da toplamalı .

Birde bunu farklı çalışma kitaplarında yapmak istiyorum. buna şu şekilde bir eklenti yapabilirmiyiz ?
Bir buton olsa dosya/aç istediğimiz excel dosyasını seçsek, seçtiğimiz excel dosyasındaki bütün sayfaları tarasa raporlasa bu şekilde olabilirmi ?
 
Dosya aç/kapa o kısmını bilmiyorum araştırmak gerek.
Sub Topla()
Range("E5:E1000") = ""
For sayfa = 1 To Sheets.Count - 1
koşul = Cells(Rows.Count, "C").End(3).Row
For i = 5 To koşul
adet = WorksheetFunction.CountIf(Sheets(sayfa).Cells, Cells(i, 3))
If adet = 0 Then GoTo 10
For k = 1 To adet


sat = Sheets(sayfa).Cells.Find(what:=Cells(i, 3), after:=ActiveCell).Row
süt = Sheets(sayfa).Cells.Find(what:=Cells(i, 3), after:=ActiveCell).Column

If Sheets(sayfa).Cells(sat, süt + 1) = Cells(i, 4) Then
Cells(i, 5) = Cells(i, 5) + Sheets(sayfa).Cells(sat, süt + 2)
End If
Next k
10
Next i
Next sayfa
End Sub

Kodunu deneyiniz. Daha basite indirgenmiş hali olabilir.
 
Muhammed bey, sayfaldaki "C" sütunundaki toplamlar "J" sütunundan alınması gerekirse kodu ne şekilde değiştirmeliyim ?
 
Cells(i, 5) = Cells(i, 5) + Sheets(sayfa).Cells(sat, süt + 2)

süt+2 yerine süt+9 yazınız.
 
Rica ederim. İyi çalışmalar.
 
Geri
Üst