Calculation, sadece Aktif Sayfada çalışsın.

ERMAN SAYINALP

Altın Üye
Katılım
11 Eylül 2008
Mesajlar
173
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
08-09-2027
Merhaba,

Çok sayıda sayfadan oluşan ve bu sayfalarda yoğun Fonksiyon bulunan Çalışma Kitabım (Excel Dosyası) bu sebepten dolayı çok kasıldı ve yavaş işlem yapıyor.
İşlemci, satıra/hücreye veri girişi yapıldığında, söz konusu yoğun fonksiyonların sonuçlarını bulmak adına bir dizi işlemi yaparken doğal olarak kasılıyor.

Bu yüzden, Calculation operasyonunun sadece AKTİF SAYFA'da çalışıyor olması, diğer PASİF SAYFA'larda "Off" olması, Sayfalarda gezinirken sadece bakılan sayfada "On" olması yönünde bir KODLAMA'ya ihtiyaç duymaktayım.

Bunun için örnek dosya istenmeyeciğini düşünüyorum, zira sorumun çok sarih olduğunu düşünüyorum.

Örnek:

Sayfa1

Sayfa2

Sayfa3

Sayfa4

Pasif

Pasif

Aktif

Pasif

Calculation --- Off

Calculation --- Off

Calculation --- ON

Calculation --- Off

 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Böyle bir şey işinizi çözer mi bilmem ? Hesaplama seçeneklerinden "El ile" seçeneğini işaretlemeyi unutmayın.
Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Sh.Calculate
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Sh.Calculate
End Sub
 

ERMAN SAYINALP

Altın Üye
Katılım
11 Eylül 2008
Mesajlar
173
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
08-09-2027
Böyle bir şey işinizi çözer mi bilmem ? Hesaplama seçeneklerinden "El ile" seçeneğini işaretlemeyi unutmayın.
Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Sh.Calculate
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Sh.Calculate
End Sub
Merhaba hamitcan,

Kodlamanız kısmen işe yaradı, hızlanmaya takriben %30 oranında katkı sağladı, beklentim ise %90 lar düzeyindeydi. Başkaca ne yapılabilir bilmiyorum ?
Teşekkür ederim.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
%90 lara hatta %99 lara çıkarmak mümkün.

1. Formülleriniz çok kasıyor olabilir, formülleri kasmayacak formüllerle değiştirerek bir miktar hızlanabilir. Tamamen varsayımdır.
2. Formülleri AD tanımlamalarıyla kısaltarak formüller bir miktar hızlanabilir.
3. Formülleri KOD içine gömerek sayfanın işlem hızı arttırılabilir.

Tamamı için dosyanızı ve formülleri görmek lazım.
 

ERMAN SAYINALP

Altın Üye
Katılım
11 Eylül 2008
Mesajlar
173
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
08-09-2027
%90 lara hatta %99 lara çıkarmak mümkün.

1. Formülleriniz çok kasıyor olabilir, formülleri kasmayacak formüllerle değiştirerek bir miktar hızlanabilir. Tamamen varsayımdır.
2. Formülleri AD tanımlamalarıyla kısaltarak formüller bir miktar hızlanabilir.
3. Formülleri KOD içine gömerek sayfanın işlem hızı arttırılabilir.

Tamamı için dosyanızı ve formülleri görmek lazım.
Ömer bey,
1 ve 2 için yapılabilecekleri olabildiği ölçüde yaptım, lakin 3 için mahir değilim.
Dosyayı, varolan haliyle açık mecrada paylaşmak istemem, sizinle paylaşmamın bir sakıncası yok ama yöntemi konusunda siz yol gösterici olun.
Teşekkürler
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanızı görmeden, nasıl bir işlem yapıldığını bilmeden, veri tiplerini bilmeden vb. yol gösterme şansım yok malesef.
 

ERMAN SAYINALP

Altın Üye
Katılım
11 Eylül 2008
Mesajlar
173
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
08-09-2027
Ömer bey, tekrar merhaba
Yanıtımı tebessüm ederek yazıyorum ☺
Yol göstermekten kastım, dosyamı sadece sizinle paylaşmaktır, ama bunu hangi yolla yapabilirim, e-mail, whatsapp, onedrive gibi.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayın Erman, sayfa içinde çok fazla formül kullanıyorsanız bir kere daha düşünün derim. Eğer bir data üzerinde çalışıyorsanız Access üzerinde bir veri tabanı yahut bir metin dosyası oluşturarak Excel'e veri aktarabilirsiniz. Daha sonra Excel'de hesaplama işlemi yapabilirsiniz.
 
Üst