• DİKKAT

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

Topla Çarp Hata...

Katılım
7 Haziran 2017
Mesajlar
55
Excel Vers. ve Dili
Microsoft Office Professional Plus 2013
Merhaba,

Aşağıda kodlamada 2 hata yaptım. Ne hata olduğunu bulamıyorum.

1 - Saat hesabında veri yoksa "0" vermesi gerekirken #DIV hatasını veriyor.

2 - A6 & A29 aralığındaki görevlere göre Toplam veriyi alıyorum. Ancak, veri geldikten sonra Detay sayfassındaki Satır sayısı kadar Satırda veri aramaya devam ediyor.

Sorunu çözmemde yardımınız olursa ççok sevinirim.

Kod:
Sub TOPLACARP()
satır = Sheets("2018PerformansDetay").Cells(300, 5).End(xlUp).Row
For A = 6 To satır
SEC1 = Sheets("YılPerformans").Cells(A, 1)
Sheets("YılPerformans").Cells(A, 2) = Evaluate("SUMPRODUCT((2018PerformansDetay!E2:E300=""" & SEC1 & """)*(2018PerformansDetay!O2:O300))")
Sheets("YılPerformans").Cells(A, 4) = Evaluate("SUMPRODUCT((2018PerformansDetay!E2:E300=""" & SEC1 & """)*COUNTA(INDIS(2018PerformansDetay!A2:A300)))")

Next

End Sub
 

Ekli dosyalar

Merhaba.

Saat olayı ile ilgili isteği/sorunu anlamadım.
Mevcut kod'u aşağıdakiyle değiştirin.
.
Kod:
Sub TOPLACARP()
satir = Sheets("2018PerformansDetay").Cells(300, 5).End(xlUp).Row
For A = 6 To Sheets("YılPerformans").Cells(Rows.Count, 1).End(3).Row
    SEC1 = Sheets("YılPerformans").Cells(A, 1)
    Sheets("YılPerformans").Cells(A, 2) = Evaluate("SUMPRODUCT((2018PerformansDetay!E2:E" & satir & "=""" & SEC1 & """)*(2018PerformansDetay!O2:O" & satir & "))")
    Sheets("YılPerformans").Cells(A, 4) = Evaluate("SUMPRODUCT((2018PerformansDetay!E2:E" & satir & "=""" & SEC1 & """)*COUNTA(INDIS(2018PerformansDetay!A2:A" & satir & ")))")
Next
End Sub
 
Merhaba

Elinize sağlık, sorunsuz çalıştı.

1 -Saat hesaplamada ilgili görevin ortalama saatini hesaplamak için Excelde aşağıdaki formülü uyguluyorum. Bunu Makroda nasıl kurgulayabilirim.

Kod:
IFERROR(SUMPRODUCT(('2018PerformansDetay'!$E$2:$E$299=YılPerformans!$A6)*('2018PerformansDetay'!$Z$2:$Z$299=YılPerformans!$B$1)*('2018PerformansDetay'!$V$2:$V$299))/SUMPRODUCT(('2018PerformansDetay'!$E$2:$E$299=YılPerformans!$A6)*('2018PerformansDetay'!$Z$2:$Z$299=YılPerformans!$B$1)*('2018PerformansDetay'!$V$2:$V$299>0));0)

2 -Ayrıca, B ve D sütunundaki adetlerin F sütunundaki Aktif gün sayısına bölünerek sonuç vermesini istiyorum.

Bu konuda desteğiniz olabilirse çok sevinirim.
 
Denemiş değilim.
Hata, BÖLENin 0 olmasından kaynaklandığına göre; ben olsam aşağıdaki gibi bir yapı düşünürdüm.
.
Kod:
[COLOR="Red"]bolunen[/COLOR] = Evaluate("=SUMPRODUCT((2018PerformansDetay!$E$2:$E$299=YılPerformans!$A6)*(2018PerformansDetay!$Z$2:$Z$299=YılPerformans!$B$1)*(2018PerformansDetay!$V$2:$V$299))")
[COLOR="red"]bolen[/COLOR]=Evaluate("=SUMPRODUCT((2018PerformansDetay!$E$2:$E$299=YılPerformans!$A6)*(2018PerformansDetay!$Z$2:$Z$299=YılPerformans!$B$1)*(2018PerformansDetay!$V$2:$V$299>0))")

If [COLOR="red"]bolen[/COLOR]=0 Then
    [B][COLOR="Blue"]bolum[/COLOR][/B] = 0
Else
    [B][COLOR="blue"]bolum[/COLOR][/B] = [COLOR="Red"]bolunen[/COLOR] / [COLOR="red"]bolen[/COLOR]
End If

Cells(.....)=[B][COLOR="Blue"]bolum[/COLOR][/B]
 
Çok teşekkür ederim. Elinize, emeğinize sağlık ..
 
Kolay gelsin.
 
Geri
Üst