Topla.Çarpım fonksiyonunu yerine "Scripting.Dictionary" nesnesini nasıl kullanırız
Arkadaşlar herkese merhaba. Öncelikle forumda baya bi araştırma yaptım "Scripting.Dictionary" nesnesi ile ilgili ama uygun bir örnek bulamadım. Nesnenin nasıl kullanıldığı hakkındada çok bilgim yok. Aşağıdaki kodları Topla.Çarpım'ın makro hali ile yaptım ama satır sayısı arttımı kodlar yavaş çalışıyor. Yapmak istediğimi özetleyecek olursam, Hareket sayfasında ListView1'den seçtiğim firmanın yapılan giriş çıkış hareketlerine göre TL, USD, EURO, bakiyelerini almak istiyorum.
Arkadaşlar herkese merhaba. Öncelikle forumda baya bi araştırma yaptım "Scripting.Dictionary" nesnesi ile ilgili ama uygun bir örnek bulamadım. Nesnenin nasıl kullanıldığı hakkındada çok bilgim yok. Aşağıdaki kodları Topla.Çarpım'ın makro hali ile yaptım ama satır sayısı arttımı kodlar yavaş çalışıyor. Yapmak istediğimi özetleyecek olursam, Hareket sayfasında ListView1'den seçtiğim firmanın yapılan giriş çıkış hareketlerine göre TL, USD, EURO, bakiyelerini almak istiyorum.
Kod:
Sub Bakiye()
sRangeA = "Hareket!B2:B65536"
sRangeB = "Hareket!E2:E65536"
sRangeC = "Hareket!J2:J65536"
sRangeD = "Hareket!K2:K65536"
sRangeE = "Hareket!L2:L65536"
Criter1 = Stok_Bul.ListView1.SelectedItem.ListSubItems(1).Text
BCriter1 = "TL"
BCriter2 = "USD"
BCriter3 = "EURO"
HBCriter1 = "Satış_Çıkış"
HBCriter2 = "Cek_Odeme"
HBCriter3 = "Kasa_Odeme"
HACriter1 = "Giriş_Alış"
HACriter2 = "Cek_Tahsilat"
HACriter3 = "Kasa_Tahsilat"
TLb = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter1 & """)*(" & sRangeD & "))")
TLb1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter2 & """)*(" & sRangeE & "))")
TLb2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter3 & """)*(" & sRangeE & "))")
USDb = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter1 & """)*(" & sRangeD & "))")
USDb1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter2 & """)*(" & sRangeE & "))")
USDb2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter3 & """)*(" & sRangeE & "))")
EUROb = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter1 & """)*(" & sRangeD & "))")
EUROb1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter2 & """)*(" & sRangeE & "))")
EUROb2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HBCriter3 & """)*(" & sRangeE & "))")
TLa = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter1 & """)*(" & sRangeD & "))")
TLa1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter2 & """)*(" & sRangeE & "))")
TLa2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter1 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter3 & """)*(" & sRangeE & "))")
USDa = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter1 & """)*(" & sRangeD & "))")
USDa1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter2 & """)*(" & sRangeE & "))")
USDa2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter2 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter3 & """)*(" & sRangeE & "))")
EUROa = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter1 & """)*(" & sRangeD & "))")
EUROa1 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter2 & """)*(" & sRangeE & "))")
EUROa2 = Evaluate("=SumProduct((" & sRangeC & "=""" & BCriter3 & """)*(" & sRangeB & "=""" & Criter1 & """)*(" & sRangeA & "=""" & HACriter3 & """)*(" & sRangeE & "))")
Worksheets("Cek_Fisi").Unprotect
Worksheets("Cek_Fisi").[F2].Value = (TLb + TLb1 + TLb2) - (TLa + TLa1 + TLa2)
Worksheets("Cek_Fisi").[F3].Value = (USDb + USDb1 + USDb2) - (USDa + USDa1 + USDa2)
Worksheets("Cek_Fisi").[F4].Value = (EUROb + EUROb1 + EUROb2) - (EUROa + EUROa1 + EUROa2)
Worksheets("Cek_Fisi").Protect
End Sub
