• DİKKAT

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

indis,düşeyara,eğer formülleri hızlandırma

sevensuleyman

Altın Üye
Katılım
9 Kasım 2012
Mesajlar
202
Excel Vers. ve Dili
office 2010
merhaba ;
aşağıdaki paylaşmış olduğum excell sayfasında 4 sütunda (yeşil renkli) bu formüller kullanılmaktadır. ürün sayısı 50 bin civarında değiştiği için hesaplama çok uzun sürmektedir. bu hesaplamayı hızlandırmak adına bir buton yapılıp butona basıldıgında hesaplama yapsa ve farklı bir yöntem varsa oda olabilir . yardımcı olursanız sevinirim.

excell boyu yükselk oldugu için buraya yükleyemedim excell linkini veriyorum

https://drive.google.com/file/d/12jcvAWKYdAhlEMWc97HZzCEfTMgDXd-v/view?usp=sharing


kaynak sayfası
AA SÜTUN :=EĞERHATA(İNDİS(VERİ!A:A;KAÇINCI(J2;VERİ!B:B;0));"")
AB SÜTUN:=EĞER(V2<>"";(DÜŞEYARA(V2;KARGO!A:I;3;0));"")
AC SÜTUN:=EĞER(AB2<>"";"5";"")
AD SÜTUN :=YERİNEKOY(N2;".";",")
AF SÜTUN :=EĞER(EĞERHATA(YUVARLA(EĞER(F2>=3000;F2*1,25+O2;EĞER(F2>=1500;F2*1,3+O2;EĞER(F2>=750;F2*1,35+O2;EĞER(F2>=500;F2*1,35+O2;EĞER(F2>=250;F2*1,4+O2;EĞER(F2>=49;F2*1,4+O2;EĞER(F2>=25;F2*1,5+O2;EĞER(F2>0;F2*1,5+O2))))))));2);"")=0;"";EĞERHATA(YUVARLA(EĞER(F2>=3000;F2*1,25+O2;EĞER(F2>=1500;F2*1,3+O2;EĞER(F2>=750;F2*1,35+O2;EĞER(F2>=500;F2*1,35+O2;EĞER(F2>=250;F2*1,4+O2;EĞER(F2>=23;F2*1,4+O2;EĞER(F2>=22;F2*2+5;EĞER(F2>0;F2*2+5))))))));2);""))

AG:=EĞERHATA(EĞER(YUVARLA(AF2*1,3=0;2);"";YUVARLA(AF2*1,3;2));"")
 
Çalışma kitabı kod sayfasına aşağıdaki kodları yapıştırın
C++:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlCalculationAutomatic
End Sub
Private Sub Workbook_Open()
Application.Calculation = xlCalculationManual
End Sub


Aşağıdaki kodu da Module1 içine yerleştirin
CoffeeScript:
Sub HesaplamaOtoManuel()
Application.Calculation = xlCalculationAutomatic
Application.Calculation = xlCalculationManual
End Sub


Sayfanıza koyacağınız bir butona aşağıdaki kodları yapıştırarak butona basınca formülleri hesaplatabilirsiniz.
Ben CommandButton2 kullandım
C++:
Private Sub CommandButton2_Click()
Module1.HesaplamaOtoManuel
End Sub
 
teşekkür ederim cevabınız için ama hızlanma maalesef olmadı. hızlandırmak için ne yapılabilir. size zahmet excell üzeerinde uygulayarak denerseniz sevinirim.
 
[TR][TD]
Kaynak safası;
[/TD][/TR]
[TR][TD]

[/TD][/TR]
[TR][TD]
F2=22
[/TD][/TR]
[TR][TD]
O2=0 olarak girin
[/TD][/TR]
[TR][TD]

[/TD][/TR]
[TR][TD]
AF2 hücresindeki formül içinde bulunan koşula göre EĞER(F2>=22;F2*2+5 alınan sonuç doğru mu?
[/TD][/TR]
 
Kaynak safası;
F2=22
O2=0 olarak girin
AF2 hücresindeki formül içinde bulunan koşula göre EĞER(F2>=22;F2*2+5 alınan sonuç doğru mu?

F2 =22 gibi işlersem doğru sonuç alamam çünkü formülümüz 22 tlden büyükse çarpma işlemi yapmaktadır.byükse işareti kullanmam gerekir.

af2 hücresinde formül baktıgımda çarpımda bir yanlışlık gözükmüyor.
 
Yavaşlamaya sebep olan gerçekten AF sütunundaki formüllerse, dosyanızın yedeğini alın ve AF sütununu komple kaldırın. Bakalım dosyanız istediğinizi kadar hızlanıyor mu?
 
AF sütunda formüle göre makro olarak uyarlamaya çalışma ekte.

Dosyanız: İndir
 
AF sütunda formüle göre makro olarak uyarlamaya çalışma ekte.

Dosyanız: İndir
Teşekkür ederim. Barkodların bulyiunduğu AB sütunu indis formülünün kullanıldığı yerde çok kasmaktadır. Excell . Bu sütuna bir kod uyarlayabilirmisiniz. Diğer formüllerede kod yazılabilirsecrüm sorunun ortadan kalkacagını düşünüyorum. Tüm formüllere tek butona bağlasak buton çalıştığında formüller uygulasa çok güzel olur.Ustalarım daha iyi bilirler tabiki yardımcı olursanız,sevinirim.
 
@Ziynettin beyin verdiği kodlar AB-AG arasındaki tüm kolanlar için kodlarla 1 ila 2 saniye arasında işlem yapmakta ve sonuç üretmektedir.

Barkodların bulyiunduğu AB sütunu indis formülünün kullanıldığı yerde çok kasmaktadır ifadeniz eğer gerçekten doğruysa sorun başka yerdedir.
 
Geri
Üst