Belge Sayma

Katılım
12 Şubat 2014
Mesajlar
206
Excel Vers. ve Dili
office2013
Altın Üyelik Bitiş Tarihi
15-12-2021
Merhaba,
Özet sayfasında personel ismine göre belge adedi saydırabiliyorum. Fakat şunu yapmak istiyorum, detay sayfasındaki belge toplamı (aynı tarihte, aynı belge nosu) 200 TL nin üzerinde ise belge adedini saysın. Eğer belge toplamı (aynı tarihte, aynı belge nosu) 200 Tl nin altında ise saymasın.

Yardımcı olursanız sevinirim. Dosya ektedir
 

Ekli dosyalar

Katılım
12 Şubat 2014
Mesajlar
206
Excel Vers. ve Dili
office2013
Altın Üyelik Bitiş Tarihi
15-12-2021
Öncelikle ilginiz için çok teşekkür ederim.
Aslında yapmak istediğim,
Özet sayfasındaki B4 hücresindeki formülde A2 hücresinde bulunan personel ismine göre detay sayfasındaki o personelin satışların evrak adedini saydırabiliyorum. A2 hücresindeki personel 01.10.2017 tarihinde toplam 11 adet evrak ile 4.194,82 TL lik satış yapmıştır.
Yapmak istediğim bu 11 adet evrakın kaç tanesi 200 TL ve üzeridir.

Yardımlarınız için teşekkürler.
 

Ekli dosyalar

Katılım
12 Şubat 2014
Mesajlar
206
Excel Vers. ve Dili
office2013
Altın Üyelik Bitiş Tarihi
15-12-2021
Cevap verebilecek var mı acaba?
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
Merhaba;

Ekili dosyayı deneyin. Makro çalışması.

Kod:
Sub kod_1()
Set s1 = Sheets("detay")
Set s2 = Sheets("özet")
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")
Pers_adi = s2.[A2]
izahat = "21"
a = s1.Range("A2:N294")
ReDim b(1 To UBound(a), 1 To 4)
For i = 1 To UBound(a)
    If a(i, 4) = Pers_adi And a(i, 11) = izahat Then
        deg = a(i, 1) & a(i, 2)
        If Not d.exists(deg) Then
            say = say + 1
            d(deg) = say
            b(say, 1) = a(i, 1)
            b(d(deg), 2) = a(i, 2)
         End If
        b(d(deg), 3) = b(d(deg), 3) + a(i, 14)
        b(d(deg), 4) = b(d(deg), 4) + 1
    End If
Next i
tbl = Array(b)
ReDim k(1 To d.Count, 1 To 4)
say = 0
For i = 1 To d.Count
    deg = tbl(0)(i, 1)
    If Not d1.exists(deg) Then
        say = say + 1
        d1(deg) = say
        k(say, 1) = deg
    End If
    k(d1(deg), 2) = k(d1(deg), 2) + 1
    k(d1(deg), 3) = k(d1(deg), 3) + tbl(0)(i, 3)
    If tbl(0)(i, 3) >= 200 Then
    k(d1(deg), 4) = k(d1(deg), 4) + 1
    End If
Next i
If say > 0 Then
s2.[A4].Resize(d1.Count, 4) = k
End If
MsgBox "İşlem tamam....", vbInformation
End Sub
 

Ekli dosyalar

Katılım
12 Şubat 2014
Mesajlar
206
Excel Vers. ve Dili
office2013
Altın Üyelik Bitiş Tarihi
15-12-2021
Merhaba,

Öncelikle çok teşekkür ederim.
Fakat detay sayfası K sütunundaki İzahat bölümünde 21, 25 ve 27 olanları toplayıp, 22 ve 88 olanları da bu toplamdan düşmesini istiyorum.
Yardımcı olabilir misiniz?
 
Üst