• DİKKAT

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

İşlem süresi hesaplama

Katılım
16 Ocak 2006
Mesajlar
41
Arkadaşlar merhaba.
Yaklaşık 96500 hücresinde formül ve ufak makrolar bulunan bir excel formatım var. Aslında birçok konuda benim için yeterli ama çok kasıyor. Aynı formatta bütün formülleri makro ile çözmeye çalışacağım ama o kadar emeğimin sonucunda program rahatlar mı emin olamıyorum. Acaba aynı işlemler makrolarla mı yoksa formüllerle mi daha hızlı olur? Emeğime değer mi? Bunu ölçebileceğim bir yöntem veya uygulama var mıdır ?
Cevaplarınız için şimdiden teşekkür ederim.
 
Merhaba,

Hacimli dosyalar için genellikle özet tablo kullanılmasını öneriyoruz. Fakat birçok üyemiz özet tabloya ısınamadı. Bu sebeple makro kullanmayı tercih ediyorlar.

Formüller dinamik şekilde sonuç ürettiği için sürekli olarak hesaplama yapar. Dosyayı rahatlatmak için genellikle hesaplama şekli manuele ayarlanır. Bu şekilde dosyanız sürekli hesaplama yapmaz. Sonucu görmek istediğiniz zaman F9 tuşuna basarak hesaplama işlemini elle yaparsınız.

Bu yöntemide tercih etmiyorsanız makro kullanmanız kaçınılmazdır. Makrolar formüllere göre dosyayı oldukça rahatlatır. Fakat kullandığınız formüllerin teferruatına göre makro çalışma süresi değişebilir.

1.000.000 satırlık bir dosyada makro yardımıyla düşeyara tarzı bir arama işleminde İ7 işlemcili laptopta yaklaşık 120 saniyede sonuç almıştım.

Sonucu siz yorumlayın...
 
Merhaba,

Korhan bey herşeyi özetlemiş.
Örnek dosya ekleyebilirseniz, çözüm önerileri gelecektir.
 
Arkadaşlar cevabınız ve ilginiz için teşekkür ederim. Önerilerinizi dikkate alacağım.
Peki herhangi bir işlemi, formül ve makro yardımıyla ayrı ayrı yaptığımızda aradaki işlem hızı farkını görebileceğimiz bir yöntem var mıdır?
 
Bunu test edebilmeniz için yoğun veri içeren bir dosya gerekiyor.

Bunun yerine şöyle bir test yapabilirsiniz.

"A1:A1000000" hücre aralığına 1 yazın desem ne kadar sürede yazabilirsiniz. Bunu test edin.


Daha sonra aşağıdaki kodu bir modüle uygulayıp deneyin. Aradaki süreyi rahatlıkla gözlemleyebilirsiniz.

Kod:
Sub Test()
    Range("A1:A1000000") = 1
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan bey teşekkür ederim. Çok iyi anlatmışsınız.
 
Geri
Üst