• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü çoketopla makro yavaş

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Ersin Tunca

Yeni Üye
Katılım
4 Ağu 2021
Mesajlar
397
Çözümler
1
Aldığı beğeni
86
Excel V
Office 2010 TR
Konu Sahibi
Sayın hocalarım ;
kod çok yavaş çalışıyor yaklaşık 4 dakikada hesaplama yapıyor. Hızlandırmak için ne yapmam gerekiyor.
Private Sub CommandButton1_Click()
For i = 3 To 310

Cells(i, 2) = Application.WorksheetFunction.SumIfs(Sheets("akkoç").Range("a2:a5000"), Sheets("akkoç").Range("m2:m5000"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 3) = Application.WorksheetFunction.SumIfs(Sheets("akc").Range("a2:a5000"), Sheets("akc").Range("n2:n5000"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 4) = Application.WorksheetFunction.SumIfs(Sheets("özdoğa").Range("a2:a5000"), Sheets("özdoğa").Range("n2:n5000"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 5) = Application.WorksheetFunction.SumIfs(Sheets("ağırnakliye Akkoc").Range("a2:a500"), Sheets("ağırnakliye Akkoc").Range("g2:g500"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 6) = Application.WorksheetFunction.SumIfs(Sheets("ağırnakliye Özdoğa").Range("a2:a500"), Sheets("ağırnakliye Özdoğa").Range("g2:g500"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 13) = Application.WorksheetFunction.SumIfs(Sheets("hgs").Range("b2:b500"), Sheets("hgs").Range("a2:a500"), Cells(i, 1))
Next i

For i = 3 To 310
Cells(i, 14) = Application.WorksheetFunction.SumIfs(Sheets("akkoç").Range("n2:n5000"), Sheets("akkoç").Range("m2:m5000"), Cells(i, 1))
Next i



End Sub
 
Konu Sahibi
Ali ÖZ ;
Hocam biraz hızlandı bu kez 3.5 dakikaya düştü acaba diğer formüller var ondan olabilir mi ?

=ÇOKETOPLA('yakıt işlemleri'!F:$F;'yakıt işlemleri'!$C:$C;A3;'yakıt işlemleri'!$B:$B;"ADBLUE") = bunun sonucunu Bütün Araçlar J2 den J 310 a kadar

=EĞERHATA(ÇOKETOPLA('yakıt işlemleri'!F:F;'yakıt işlemleri'!C:C;A3);"")-ÇOKETOPLA('yakıt işlemleri'!F:$F;'yakıt işlemleri'!$C:$C;A3;'yakıt işlemleri'!$B:$B;"ADBLUE") = bunun sonucunu Bütün Araçlar K2 K310 na kadar

=-EĞERHATA(ÇOKETOPLA('tamir bakım'!$I$2:$I$500;'tamir bakım'!$B$2:$B$500;A3;'tamir bakım'!$F$2:$F$500;Q$2);"")+EĞERHATA(ÇOKETOPLA(akc!$O$2:$O$5000;akc!$N$2:$N$5000;A3);"") = bunun sonucunu Q2:Q310 na kadar

=-EĞERHATA(ÇOKETOPLA('tamir bakım'!$I$2:$I$500;'tamir bakım'!$B$2:$B$500;A3;'tamir bakım'!$F$2:$F$500;R$2);"") = bunun sonucunu R2:R310 na kadar

=-EĞERHATA(ÇOKETOPLA('tamir bakım'!$I$2:$I$500;'tamir bakım'!$B$2:$B$500;A3;'tamir bakım'!$F$2:$F$500;S$2);"") = bunun sonucunu S2:S310 na kadar

=-EĞERHATA(ÇOKETOPLA('tamir bakım'!$I$2:$I$500;'tamir bakım'!$B$2:$B$500;A3;'tamir bakım'!$F$2:$F$500;T$2);"") = bunun sonucunu T2:T310 na kadar
getirmektedir.
bunları da koda nasıl çevirebiliriz.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst