• DİKKAT

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

SUMPRODUCT VBA

"C00001" projesi için "54" değer tipine uygun 30.09.2019 tariihli kayıt olmadığı için sıfır değeri sonuç olarak gelmektedir. Eğer bahsettiğiniz durum bu ise makroda sorun yok.
 
"C00001" projesi için "54" değer tipine uygun 30.09.2019 tariihli kayıt olmadığı için sıfır değeri sonuç olarak gelmektedir. Eğer bahsettiğiniz durum bu ise makroda sorun yok.

"C00001" projesi için "54" değer tipi için 10.123,11. TL değer ve 10.09.2019 tarihli kayıt var sheet 1 de
sheet2 de "I2" kolonu da 10.123,11, "J2" kolonuna da 10,123,11 gelmesi gerek ama sadece "I2" ye değer geliyor
 
Son eklediğiniz dosyada bu veri hangi satırda? Ben göremedim.
 
K2-L2-M2 çin hesaplama yapılacak mı?
 
Döngü içinde formülü kurguladım. Kurguladığım formülü hücreye yazdırdığımda hesaplama yapıyor. Fakat aynı formülü EVALUATE içine alınca hata değeri üretiyor. Bu sebeple döngüyü kaldırdım. Aşağıdaki yapıyı kurguladım. Daha hızlı sonuç vermesi gerekir. Deneyiniz.

Kod:
Sub Criteria_Sumproduct()
    Dim Son As Long, Satir As Long
     
    Sheet2.Select

    Son = Sheets("Sheet1").Range("A" & Rows.Count).End(3).Row

    Range("J2:M" & Rows.Count).ClearContents
  
    Satir = Cells(Rows.Count, "A").End(3).Row
  
    With Range("J2:M" & Satir)
        .Formula = "=SUMPRODUCT((Sheet1!$A$2:$A$" & Son & "=$A2)*(CLEAN(Sheet1!$F$2:$F$" & Son & ")=$I$1)*(TEXT(Sheet1!$R$2:$R$" & Son & ",""aaayyy"")=TEXT(J$1,""aaayyy"")),(Sheet1!$M$2:$M$" & Son & "))"
        .Value = .Value
    End With
 
    MsgBox "İşleminiz tamamlanmıştır."
End Sub


Ek olarak döngülü yöntemide paylaşıyorum. Belki çözüm bulan çıkabilir.

EVALUATE satırını aktif ettiğinizde sonuç üretmediğini görebilirsiniz.

Kod:
Sub Criteria_Sumproduct()
    Dim Son As Long, X As Long, Y As Byte, Satir As Long
       
    Sheet2.Select

    Son = Sheets("Sheet1").Range("A" & Rows.Count).End(3).Row

    Range("J2:M" & Rows.Count).ClearContents
    
    Satir = Cells(Rows.Count, "A").End(3).Row
    
    For X = 2 To Satir
        For Y = 10 To 13
            Cells(X, Y) = "=SUMPRODUCT((Sheet1!$A$2:$A$" & Son & "=""" & Cells(X, "A") & """)*(CLEAN(Sheet1!$F$2:$F$" & Son & ")=""" & Cells(1, "I") & """)*(TEXT(Sheet1!$R$2:$R$" & Son & ",""aaayyy"")=TEXT(""" & Cells(1, Y) & """,""aaayyy"")),(Sheet1!$M$2:$M$" & Son & "))"
            'Cells(X, Y) = Evaluate("=SUMPRODUCT((Sheet1!$A$2:$A$" & Son & "=""" & Cells(X, "A") & """)*(CLEAN(Sheet1!$F$2:$F$" & Son & ")=""" & Cells(1, "I") & """)*(TEXT(Sheet1!$R$2:$R$" & Son & ",""aaayyy"")=TEXT(""" & Cells(1, Y) & """,""aaayyy"")),(Sheet1!$M$2:$M$" & Son & "))")
        Next
    Next
   
    MsgBox "İşleminiz tamamlanmıştır."
End Sub
 
Geri
Üst