- Katılım
- 1 Ağustos 2019
- Mesajlar
- 839
- Excel Vers. ve Dili
- Türkçe excel 2016
İngilizce excel 2016
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
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 silebilirsinizKod satırınd textbox13 yazılı. Textbox13 nerede? ben bulamadım.
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ılarEvet 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ılarEkli dosyada textbox13 kod içinde yazılı değil.
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.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 gönderdiğiniz son paylaşımı deneyip size dönüş yaparım şuan PC başında degilimBende 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ırBende sonuç istenilen şekilde geliyor.