• DİKKAT

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

Sütunda listeye göre toplamlar

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar,
Ekteki dosyada veri sayfası F12:F aralığında işlemler yazılı.
Liste isimli sayfada C sütunundaki yazılı ileme ait veri sayfasında kaç tane kayıt varsa liste F1 deki aya göre gelir ve gider toplamlarını D ve E sütunlarına yazabilirmiyiz.
Saygılar.
 

Ekli dosyalar

Sayın Özer elinize sağlık güzel olmuş. Ancak dosyadaki veri sayısı arttık.a hız dişer. Makro ile yapabilirsek daha güzel olur.
 
Selamlar,
Ekteki dosyada veri sayfası F12:F aralığında işlemler yazılı.
Liste isimli sayfada C sütunundaki yazılı ileme ait veri sayfasında kaç tane kayıt varsa liste F1 deki aya göre gelir ve gider toplamlarını D ve E sütunlarına yazabilirmiyiz.
Saygılar.

Merhaba
Liste sayfasının kod bölümüne kopyalayın ve deneyin.
Kod:
Option Explicit
Private Sub CommandButton1_Click()
Dim ts, kaplan, trabzonspor, hamsi As Date
Dim bordo, mavi, asi
Set bordo = Sheets("veri")
Set mavi = Sheets("liste")
trabzonspor = MsgBox(mavi.Range("F1") & ". Ay Verilerini " _
& "Topluyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
mavi.Range("D3:E" & Rows.Count).ClearContents
For asi = 3 To mavi.Cells(Rows.Count, "B").End(xlUp).Row
kaplan = 0
trabzonspor = 0
For ts = 12 To bordo.Cells(Rows.Count, "C").End(xlUp).Row
If Month(bordo.Cells(ts, "C")) = mavi.Range("F1") And _
bordo.Cells(ts, "F") = mavi.Cells(asi, "C") Then
kaplan = kaplan + bordo.Cells(ts, "N")
trabzonspor = trabzonspor + bordo.Cells(ts, "O")
mavi.Cells(asi, "D") = kaplan
mavi.Cells(asi, "E") = trabzonspor
End If
Next
Next
Application.ScreenUpdating = True
MsgBox mavi.Range("F1") & ". Ay Verilerini Topladım", , "Bitiş"
End Sub
 
Teşekkür ederim İhsan Hocam, hakkınızı ödeyemeyiz, helal edin.
 
Hocam sonuçlarda hata var. Tümünün toplamını alıyor. Birde şöyle bir sıkıntı olurmu? Mesela 2012 1. ay ve 2011 1.ay karışırmı?
 
İhsan Hocam dünden beri uğraşıyorum yapayım diye ama yapamadım.
 
İhsan Hocam dünden beri uğraşıyorum yapayım diye ama yapamadım.

Merhaba
Bu kodu dener misiniz_?
Kod:
Option Explicit
Private Sub CommandButton1_Click()
Dim ts, kaplan, trabzonspor, hamsi As Date
Dim bordo, mavi, asi
Set bordo = Sheets("veri")
Set mavi = Sheets("liste")
If mavi.Range("G1") = Empty Then
MsgBox "Yıl Boş", vbCritical, "Hata"
mavi.Select
Range("G1").Select
Exit Sub
ElseIf mavi.Range("F1") = Empty Then
MsgBox "Ay Boş", vbCritical, "Hata"
mavi.Select
Range("F1").Select
Exit Sub
End If
trabzonspor = MsgBox(mavi.Range("G1") & " Yılının" & vbLf _
& mavi.Range("F1") & ". Ay Verilerini " _
& "Topluyorum", vbYesNo, "Onay")
If trabzonspor = vbNo Then Exit Sub
Application.ScreenUpdating = False
mavi.Range("D3:E" & Rows.Count).ClearContents
For asi = 3 To mavi.Cells(Rows.Count, "B").End(xlUp).Row
kaplan = 0
trabzonspor = 0
For ts = 12 To bordo.Cells(Rows.Count, "C").End(xlUp).Row
If Year(bordo.Cells(ts, "C")) = mavi.Range("G1") And _
Month(bordo.Cells(ts, "C")) = mavi.Range("F1") And _
bordo.Cells(ts, "F") = mavi.Cells(asi, "C") Then
kaplan = kaplan + bordo.Cells(ts, "N")
trabzonspor = trabzonspor + bordo.Cells(ts, "O")
mavi.Cells(asi, "D") = kaplan
mavi.Cells(asi, "E") = trabzonspor
End If
Next
Next
Application.ScreenUpdating = True
MsgBox mavi.Range("G1") & " Yılının" & vbLf _
& mavi.Range("F1") & ". Ay Verilerini Topladım", , "Bitiş"
End Sub
 
Geri
Üst