• DİKKAT

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

veri hesaplama makrosunu hızlandırmak

Sizin koda göre alınan sonuçlar doğru mu?



 
Kod satırınd textbox13 yazılı. Textbox13 nerede? ben bulamadım.
 

Ekli dosyalar

Kod satırınd textbox13 yazılı. Textbox13 nerede? ben bulamadım.
Ziynettin bey ben bu çalışmanın sadece bir bölümünü paylaştım çalıştığım programda textboxtlar var ama şuan ki paylaştığım kısimda textboxt13 u dikkate almayın textboxt 13 u silebilirsiniz
 
Ekli dosyada textbox13 kod içinde yazılı değil.
 
Evet ziynettin bey
ziynettin bey benim yazdığım kod doğru hesaplıyor. ben sayfayı yükleyebilmek için genel dağıtım sayfasında ki verileri silmek zorunda kaldım ondan dolayı yanlış hesaplıyor gibi görünmüş. bana gönderdiğiniz kod gayet güzel çalışıyor. emeğinize sağlık. çok teşekkür ederim. sizden bir ricam daha olacak bu koda verilerdeki tarih aralıklarında getirme şansımız var mı. ilgilendiğiniz için şimdiden teşekkür ederim. saygılar
 
Ekli dosyada textbox13 kod içinde yazılı değil.
ziynettin bey benim yazdığım kod doğru hesaplıyor. ben sayfayı yükleyebilmek için genel dağıtım sayfasında ki verileri silmek zorunda kaldım ondan dolayı yanlış hesaplıyor gibi görünmüş. bana gönderdiğiniz kod gayet güzel çalışıyor. emeğinize sağlık. çok teşekkür ederim. sizden bir ricam daha olacak bu koda verilerdeki tarih aralıklarında getirme şansımız var mı. ilgilendiğiniz için şimdiden teşekkür ederim. saygılar
 
Genel_Rapor sayfası;
*** Y1 hücresine ilk tarihi,
***Y2 hücresine son tarihi yazın.

PHP:
Sub HESAPLA()
Dim trh_1 As Date, trh_2 As Date
Z = TimeValue(Now)
Set syf1 = Sheets("Genel_Rapor")
Set syf2 = Sheets("Genel_Dagitim_Listesi")
Set dc = CreateObject("scripting.dictionary")
    son = syf2.Cells(Rows.Count, 4).End(3).Row
    a = syf2.Range("A2:J" & son).Value
    trh_1 = syf1.[Y1]
    trh_2 = syf1.[Y2]
        For i = 1 To UBound(a)
            If a(i, 2) >= trh_1 And a(i, 2) <= trh_2 Then
                krt = a(i, 4) & "|" & a(i, 6)
                dc(krt) = dc(krt) + a(i, 7)
            End If
        Next i
    son = syf1.Cells(Rows.Count, 4).End(3).Row
    a = syf1.Range("A2:V" & son).Value
    ReDim b(1 To UBound(a) - 1, 1 To UBound(a, 2) - 5)
        For i = 2 To UBound(a)
            For j = 6 To UBound(a, 2)
                krt = a(i, 4) & "|" & a(1, j)
                topla = topla + CDbl(dc(krt))
                b(i - 1, j - 5) = topla
            Next j
            topla = 0
        Next i
    syf1.[F3].Resize(UBound(a) - 1, UBound(a, 2) - 5) = b
MsgBox "..::: İşlem B İ T T İ :::.." & vbLf & vbLf & "İşlem süreniz :  " & _
            CDate(TimeValue(Now) - Z), vbInformation
End Sub
 
ziynetti
Genel_Rapor sayfası;
*** Y1 hücresine ilk tarihi,
***Y2 hücresine son tarihi yazın.

PHP:
Sub HESAPLA()
Dim trh_1 As Date, trh_2 As Date
Z = TimeValue(Now)
Set syf1 = Sheets("Genel_Rapor")
Set syf2 = Sheets("Genel_Dagitim_Listesi")
Set dc = CreateObject("scripting.dictionary")
    son = syf2.Cells(Rows.Count, 4).End(3).Row
    a = syf2.Range("A2:J" & son).Value
    trh_1 = syf1.[Y1]
    trh_2 = syf1.[Y2]
        For i = 1 To UBound(a)
            If a(i, 2) >= trh_1 And a(i, 2) <= trh_2 Then
                krt = a(i, 4) & "|" & a(i, 6)
                dc(krt) = dc(krt) + a(i, 7)
            End If
        Next i
    son = syf1.Cells(Rows.Count, 4).End(3).Row
    a = syf1.Range("A2:V" & son).Value
    ReDim b(1 To UBound(a) - 1, 1 To UBound(a, 2) - 5)
        For i = 2 To UBound(a)
            For j = 6 To UBound(a, 2)
                krt = a(i, 4) & "|" & a(1, j)
                topla = topla + CDbl(dc(krt))
                b(i - 1, j - 5) = topla
            Next j
            topla = 0
        Next i
    syf1.[F3].Resize(UBound(a) - 1, UBound(a, 2) - 5) = b
MsgBox "..::: İşlem B İ T T İ :::.." & vbLf & vbLf & "İşlem süreniz :  " & _
            CDate(TimeValue(Now) - Z), vbInformation
End Sub
ziynettin bey tarih aralığında yanlış hesaplama yapıyor. tekrar gözden geçirebilir misiniz. örneğin damacana su 06-09.12.2019 tarihleri arasında yanlış hesaplama yaparak getirdi.
 
Bende sonuç istenilen şekilde geliyor.
sizin en son gönderdiğiniz paylaşımıda denedim ancak iki tarih arasında gelen verilerin adet toplamları ile genel dağıtım listesinde toplamların farklı olduğunu gördüm. öneğin 06-09.12.2019 tarihleri arasında damacana su genel raporda 813 iken genel dağıtım listesinde iki tarih aralığını süzdüğümde damacana su 414 adet gelmektedir. diğer ürünlerde de aynı hatayı vermektedir. özet olarak genel raporda veriler ile genel dağıtım listesinde ki veriler biribirini tutmamaktadır. tarihsiz makronuz da herhangi bir hata almamaktayım. kod doğru çalışmaktadır
 
Geri
Üst