• 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.

Soru Exceli hızlandırmanın yolu

walterwhite

Yeni Üye
Katılım
14 Ara 2023
Mesajlar
22
Çözümler
1
Aldığı beğeni
9
Excel V
Office 365 TR
Konu Sahibi
Merhabalar,
Uzun süredir çalıştığım bir dosyam var, 25MB boyutunca macro formüller içeriyor. Daha önceleri çok hızlı çalışıyordu donmalar yaşanmıyordu. Şimdi inanılmaz kasmalar ve donmalar yaşanıyor sebebini bir türlü bulamadım. Çözüm rica edebilir miyiz.

Bilgisayarımın özellikleride iyi
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2.50 GHz
32,0 GB (kullanılabilir: 31,7 GB)
 

Olası Nedenler​

  • Veri Büyüklüğü ve Karmaşıklığı: Dosyanın boyutu 25 MB olsa da, zamanla içine eklenen veri miktarı ve formüllerin karmaşıklığı artmış olabilir. Bu, hesaplama süresini uzatır.
  • Volatile (Uçucu) Fonksiyonlar: DOLAYLI (INDIRECT), KAYDIR (OFFSET), BUGÜN (TODAY), ŞİMDİ (NOW) gibi uçucu fonksiyonlar her hücre değişikliğinde veya dosya açılışında yeniden hesaplanır. Dosyanızda bu tür fonksiyonların aşırı kullanımı performansı düşürebilir.
  • Gereksiz Hesaplamalar: Makrolarınızın veya formüllerinizin belirli aralıklarla gereksiz yere tüm çalışma sayfasını veya çalışma kitabını yeniden hesaplamaya zorlaması.
  • Tanımlı Adlar ve Aralıklar: Kullanılmayan veya hatalı tanımlanmış adlar ve dinamik aralıklar performansı etkileyebilir.
  • Harici Bağlantılar: Dosyanızın başka Excel dosyalarına, web sitelerine veya veri tabanlarına yaptığı harici bağlantılar varsa ve bu bağlantılar yavaş çalışıyorsa, dosyanız da yavaşlayabilir.
  • Koşullu Biçimlendirme: Yoğun ve karmaşık koşullu biçimlendirme kuralları hesaplama süresini artırabilir.
  • Grafikler ve Şekiller: Çok sayıda grafik, resim veya şekil, dosyanın boyutunu ve yükleme süresini artırabilir.
  • Kod Optimizasyonu Eksikliği: Makro kodunuzun verimsiz yazılmış olması (örneğin, hücre hücre döngü yerine aralıklarla çalışma, ScreenUpdating kapatmama, Events kapatmama).
  • Bellek Yetersizliği: Bilgisayarınızın belleği (RAM) dosyanın karmaşıklığıyla başa çıkmakta zorlanıyor olabilir.
  • Yazılım Güncellemeleri: Excel veya işletim sisteminizdeki güncellemeler bazen performansı olumsuz etkileyebilir.
  • Dosya Bozulması: Nadiren de olsa, uzun süreli kullanımda Excel dosyaları bozulabilir ve bu da performans sorunlarına yol açabilir.

Çözüm Önerileri​

  1. Makro Optimizasyonu:
    • Ekran Güncellemesini Kapatın: Makro çalışırken ekranın güncellenmesini kapatmak performansı önemli ölçüde artırır. Kodunuzun başına Application.ScreenUpdating = False ekleyin ve sonuna Application.ScreenUpdating = True eklemeyi unutmayın.
    • Olayları Devre Dışı Bırakın: Makro çalışırken gereksiz olayları (örneğin, hücre değişimi olayları) devre dışı bırakmak için Application.EnableEvents = False kullanın ve makro sonunda Application.EnableEvents = True olarak ayarlayın.
    • Otomatik Hesaplamayı Kapatın: Makro çalışırken Excel'in otomatik hesaplamasını kapatmak, özellikle büyük veri setleriyle çalışırken çok faydalıdır. Kodunuzun başına Application.Calculation = xlCalculationManual ekleyin ve sonuna Application.Calculation = xlCalculationAutomatic olarak ayarlayın. Ayrıca, makro sonunda ActiveWorkbook.Calculate ile manuel olarak hesaplama yaptırabilirsiniz.
    • Döngü Optimizasyonu: Hücre hücre döngüler yerine aralıkları kullanın. Örneğin, For Each cell In Range("A1:A1000") yerine tüm aralığı tek seferde okuyup işlemek daha hızlıdır.
    • Hızlı Kopyalama/Yapıştırma: Copy/PasteSpecial yerine doğrudan değer atamayı tercih edin: Range("A1:A10").Value = Range("B1:B10").Value.
    • Nesne Referanslarını Serbest Bırakın: Makro sonunda kullanılan nesneleri (örneğin, Set ws = Nothing) serbest bırakın.
  2. Formül Optimizasyonu:
    • Uçucu Fonksiyonları Azaltın: DOLAYLI (INDIRECT) ve KAYDIR (OFFSET) yerine DÜŞEYARA (VLOOKUP), İNDİS (INDEX), KAÇINCI (MATCH) kombinasyonlarını kullanmayı deneyin. Bu fonksiyonlar genellikle daha az hesaplama maliyeti taşır.
    • Formülleri Değere Dönüştürün: Eğer belirli formüllerin sonuçları sık sık değişmiyorsa, bu hücreleri kopyalayıp "Değerleri Yapıştır" seçeneğiyle formülleri statik değerlere dönüştürün.
    • Dizi Formüllerini Gözden Geçirin: Dizi formülleri çok güçlüdür ancak büyük aralıklarda performansı etkileyebilir. Gereksiz kullanımlardan kaçının.
  3. Veri ve Dosya Temizliği:
    • Kullanılmayan Satır/Sütunları Silin: Dosyanızda çok sayıda boş ancak biçimlendirilmiş satır veya sütun olabilir. Bunları silmek dosya boyutunu ve performansını iyileştirebilir. En son kullanılan hücreyi bulmak için Ctrl + End tuş kombinasyonunu kullanın ve fazlalıkları silin.
    • Tanımlı Adları Kontrol Edin: Formüller > Ad Yöneticisi'ne gidin ve kullanılmayan veya hatalı tanımlanmış adları silin.
    • Koşullu Biçimlendirme Kurallarını Sadeleştirin: Çok sayıda veya karmaşık koşullu biçimlendirme kuralı varsa, bunları basitleştirin veya azaltın.
    • Harici Bağlantıları Yönetin: Veri > Bağlantıları Düzenle'ye gidin ve gereksiz veya bozuk bağlantıları kesin.
    • Gizli Nesneleri Kontrol Edin: Bazen gizli grafikler, şekiller veya pivot tablolar dosyanın boyutunu artırabilir.
    • Dosya Formatını Kontrol Edin: Dosyanız hala .xls formatındaysa, .xlsm veya .xlsx formatına dönüştürmek performansı artırabilir.
  4. Donanım ve Yazılım:
    • RAM Yükseltmesi: Eğer bilgisayarınızın RAM'i düşükse, özellikle büyük Excel dosyalarıyla çalışırken yetersiz kalabilir. RAM'inizi yükseltmeyi düşünebilirsiniz.
    • Excel ve İşletim Sistemi Güncellemeleri: Excel ve Windows'unuzun güncel olduğundan emin olun. Bazen performans iyileştirmeleri güncellemelerle gelebilir.
    • Dosyayı Onarın: Nadiren de olsa, Excel dosyası bozulmuş olabilir. Dosyayı açarken "Aç ve Onar" seçeneğini kullanmayı deneyin (Dosya > Aç > Gözat > Aç butonunun yanındaki oka tıklayın ve Aç ve Onar).

Sorun Giderme Adımları​

  1. Sorunu İzole Edin:
    • Dosyanın bir kopyasını alın ve bu kopyada denemeler yapın.
    • Makroları devre dışı bırakarak dosyanın hızını test edin. Eğer makrolar kapalıyken hızlı çalışıyorsa, sorun büyük olasılıkla makrolardan kaynaklanıyordur.
    • Tüm sayfaları silip sadece bir sayfa bırakarak test edin. Eğer tek sayfada hızlı çalışıyorsa, sorun belirli bir sayfada veya sayfalar arası etkileşimden kaynaklanıyor olabilir.
  2. Adım Adım İnceleme:
    • Makrolarınızdaki hangi bölümlerin veya hangi formüllerin en çok zaman aldığını tespit etmek için Excel'in VBA (Visual Basic for Applications) ortamında kodunuzu adım adım (F8 ile) çalıştırabilir veya Debug.Print Timer komutunu kullanarak farklı bölümlerin çalışma sürelerini ölçebilirsiniz.
Bu adımları izleyerek dosyanızdaki performans sorunlarının nedenini tespit edip çözüme kavuşturabilirsiniz. Genellikle en büyük kazanımlar makro optimizasyonu ve uçucu formüllerin azaltılmasıyla elde edilir.

Dosyanızda hangi formüller kullanılıyor, kaç sayfa var, çok sık çalışan bir makro var mı.Makrolar sonsuz döngüye girerse ya da gereksiz yere tekrar çalışıyorsa sistem kaynaklarını tüketebilir.

Gereksiz adımları ve boş satır/sütunları temizle: Ctrl+End ile gerçek son hücreye git, oradaki veriler silinmiş olsa bile Excel bunları hâlâ saklayabilir.

Dosyayı başka isimle kaydet ("Save As"): Bu işlem genellikle iç temizlik yapar ve dosya boyutunu azaltır.

Eklentileri devre dışı bırak: Dosya → Seçenekler → Eklentiler → Git → Aktif olanları tek tek devre dışı bırakıp performansı gözlemle.
 
Dosya yapınızı bilmiyorum, eğer formülle kayıt oluşturuyorsanız ve bu kayıtlar üzerinde sonradan bir değiştirme yapmıyorsanız, bu kayıtları manuel olarak veya makro ile kopyalayıp, değer olarak yapıştırırsanız, dosyanız hızlana bilir.
 
25 mb bir excel dosyası için yüksek bir değer. bilgisayar konfigrasyonu iyi de olsa, excel sürümü yeni de olsa bu sorunlar yaşanabilir.
dosya görmeden ,makrolar kontrol edilmeden söylenebilecekler zaten az çok aynı olacak. imaj,resim vs. olmamalı, koşullu biçimlendirmeler olmamalı , hücre biçimlendirmeleri olmamalı, formüllerde veri aralıkları sadece gereken kadar olmalı gibi..
 
Excel açılırken mi yavaşlık var yoksa makrolar mi yavas çalışıyor?
 
Geri
Üst