• 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ü Makro çok 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.

dogan.importexport

Yeni Üye
Katılım
9 Eyl 2021
Mesajlar
206
Çözümler
2
Aldığı beğeni
21
Excel V
Office 365 TR
Konu Sahibi
Selamlar
Ekteki hamsatis sayfası hemen hemen 100 000 satırdan oluşuyor ve SQL den bilgi çekiyor. diğersayfalarda ise çoketopla formülleriyle özet yapıyorum. Fakat güncelle makrosunu çalıştırdığımda yarım saatte anca çalıştırıyor. Hesaplanıyor 8 iş parçacığı diye diye bekliyorum.Bunu hızlandırmam için ne yapmalıyım. Sorun çok etopla formülleriyse bunun yerine nasıl bir makro yapmalıyım

Yardımcı olursanız sevinirim.
Saygılar
 
Hocam aşağıdaki kodu ekleyip denebilir misiniz. Ayrıca exceli farklı kaydet diyerek "Excel İkili Çalışma Kitabı" olarak kaydedin bir nebze olsun hızlandırabilir.

1698325057077.png

Sub Sqlsatıskarzararciro()

With Application
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
ActiveSheet.DisplayPageBreaks = False


'KODLARINIZ..

With Application
.DisplayAlerts = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
ActiveSheet.DisplayPageBreaks = True

End Sub
 
Merhaba.

Mikrodan SQL ile veri çekebiliyorsan, İstediğin tabloyu direk hazır bir halde çekebilirsin.

Bunun için üç yolun var;
1-) SQL Management ile veri tabanına gir. Orada View oluştur. Bilmiyorsan yardım al.
View : bir veya birden fazla tablodan istenilen verilerin bir arada sunulmasını sağlayan tanımlanmış sorgulardır.
Böylelikle istediğin rapor her zaman hazır nazır bulunur, sen de direk bu tabloyu çağırırsın excele rapor hazır halde gelmiş olur.

2-) MikroV16 kullanıyorsun kodlarından anladığım kadarıyla, rapor sistemindeki PivotT abloyu kullanarak istediğin raporları hazır halde alabilirsin.

3-) İstediğin raporlar excelde Pivot Tabloya uygun, formülle bulmak yerinde Pivotla hazırlamayı denersen daha hızlı sonuçlar alabilirsin.

Mikrodan çekeceğin veri excelin satılarını aşabilme ihtimali varsa ilk iki seçenek senin için daha uygun, aşmazsa üçüncü seçeneği de düşünebilirsin.

İyi çalışmalar.
 
Konu Sahibi
Hocam aşağıdaki kodu ekleyip denebilir misiniz. Ayrıca exceli farklı kaydet diyerek "Excel İkili Çalışma Kitabı" olarak kaydedin bir nebze olsun hızlandırabilir.

Ekli dosyayı görüntüle 21315

Sub Sqlsatıskarzararciro()

With Application
.DisplayAlerts = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
ActiveSheet.DisplayPageBreaks = False


'KODLARINIZ..

With Application
.DisplayAlerts = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
ActiveSheet.DisplayPageBreaks = True

End Sub

Sanırım ilk çektiğim kodlardan değil detayciro adlı sayfadan dolayı yavaşlama yapıyor. Çünki aşırı ÇOKETOPLA formülü var. onu silerek denedim hızlandı
 
Konu Sahibi
Merhaba.

Mikrodan SQL ile veri çekebiliyorsan, İstediğin tabloyu direk hazır bir halde çekebilirsin.

Bunun için üç yolun var;
1-) SQL Management ile veri tabanına gir. Orada View oluştur. Bilmiyorsan yardım al.
View : bir veya birden fazla tablodan istenilen verilerin bir arada sunulmasını sağlayan tanımlanmış sorgulardır.
Böylelikle istediğin rapor her zaman hazır nazır bulunur, sen de direk bu tabloyu çağırırsın excele rapor hazır halde gelmiş olur.

2-) MikroV16 kullanıyorsun kodlarından anladığım kadarıyla, rapor sistemindeki PivotT abloyu kullanarak istediğin raporları hazır halde alabilirsin.

3-) İstediğin raporlar excelde Pivot Tabloya uygun, formülle bulmak yerinde Pivotla hazırlamayı denersen daha hızlı sonuçlar alabilirsin.

Mikrodan çekeceğin veri excelin satılarını aşabilme ihtimali varsa ilk iki seçenek senin için daha uygun, aşmazsa üçüncü seçeneği de düşünebilirsin.

İyi çalışmalar.
Hamsatis tablosuda viewden geliyor. sadece çoketopla formülü fazla olduğu için diğer sayfalarda yavaşlama yapıyor. Sanırım veya viewden gruplar halinde alırsam problem çözülmüş olacak
 
Alternatif.
 
Çözüm
Konu Sahibi
Eline bilgine sağlık. Sadece detayciro sayfasında c d e 4 de düşey ara formüllerini C5 D5 E5 DEN sonra göremiyorum. benzersizleri kopyalamı demek yazdığınız kod. C4 D4 E4 VE C5 D5 E5 rica etsem tekrar kontrol edermisiniz. Benmi yanılıyorum acaba
 
....detayciro sayfasında c d e 4 de düşey ara formüllerini C5 D5 E5 DEN sonra göremiyorum.
hesaplama yükünü azaltmak için her sayfada sadece 4. satırdaki formülleri bıraktım.
hesaplarken 4. sardaki formülleri önce çoğaltıyor,
sonra hesaplanmış değerleri tekrar yerine yapıştırıp formüllerden kurtarıyor.
sonuç doğru ise sorun yok demektir.
Hızlanma oldu mu?
 
Konu Sahibi
hesaplama yükünü azaltmak için her sayfada sadece 4. satırdaki formülleri bıraktım.
hesaplarken 4. sardaki formülleri önce çoğaltıyor,
sonra hesaplanmış değerleri tekrar yerine yapıştırıp formüllerden kurtarıyor.
sonuç doğru ise sorun yok demektir.
Hızlanma oldu mu?
Evet iyi derecede hızlandı. Teşekkürler.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst