Kod çalışma hızı farkı

Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Selam,

Makro web üzerinden veri alan bir yapı.

Boş bir excel kitabına uygulayıp veri aldığımda 3 saniye.

Çalışma yaptığım yaklaşık 20 modül ve 25 sayfa olan kitapta çalışma hızı 40 saniye.

Formül olsa doğal diyeceğim fakat bir makronun bu şekilde farklı sürelerde çalışmasının nedeni nedir?

Dosya boyutu , içinde modüller olması ve sayfa sayısı makro hızını bu kadar etkiler mi?

Eğer bir çözümü varsa hangi yol izlenebilir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Eğer sayfa olayları kullanıyorsanız etkileyebilir.

Linkteki kod hızlandırma tekniğini deneyebilirsiniz.

 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Merhaba,

Eğer sayfa olayları kullanıyorsanız etkileyebilir.

Linkteki kod hızlandırma tekniğini deneyebilirsiniz.

Yani Korhan bey teşekkür ederim.
Verdiğiniz linkteki şu kodları yerleştirdim. Aynı hızı elde ettim.

Application.Calculation = xlCalculationManual
Application.EnableEvents = False

Şöyle bir durum var mantığı çözme açısından bilgilendirirseniz sevinirim.
Application.EnableEvents = False
Bu kod önceden 40 sn'de yapan işi yarı yarıya indirdi .
bunun yanına ;
Application.Calculation = xlCalculationManual
ekleyince 3 Sn.

Web üzerinden veri almada Application.Calculation = xlCalculationManual mantığının işlediğini bilmiyordum.
Kısa bir not düşerseniz çok sevinirim.

Tekrardan teşekkür ederim büyük faydası oldu.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alttaki satır dosyadaki hesaplama yöntemini ELLE şeklinde ayarlamaktadır. Bu şekilde dosyada olan anlık değişimler sürekli hesaplanmaz. Bu da işlemlerde hız avantajı sağlar.

Application.Calculation = xlCalculationManual

Alttaki satır ise dosyadaki olayları pasif hale getirir. Bu sayede sayfa ya da dosya düzeyinde çalışan kodlar desvre dışı kaldığından sürekli işleme-hesaplama yapılmaz. Bu sayede çalışan makro hız kazanır.

Application.EnableEvents = False
 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Alttaki satır dosyadaki hesaplama yöntemini ELLE şeklinde ayarlamaktadır. Bu şekilde dosyada olan anlık değişimler sürekli hesaplanmaz. Bu da işlemlerde hız avantajı sağlar.

Application.Calculation = xlCalculationManual

Alttaki satır ise dosyadaki olayları pasif hale getirir. Bu sayede sayfa ya da dosya düzeyinde çalışan kodlar desvre dışı kaldığından sürekli işleme-hesaplama yapılmaz. Bu sayede çalışan makro hız kazanır.

Application.EnableEvents = False
Korhan bey , hazır sizi yakalamışken , yeni bir konu açmadan ilginç bir durum hakkında fikrinizi almak isterim.

Web üzerinden veri almak için POST isteği gönderen bir kodun , antivirüs programı açık olduğu zaman çalışıp , antivirüs programı kapalı olduğu zaman çalışmaması durumu var.
Tuhaf bir durum.
2 farklı şekilde veri alabiliyorum , ama her iki makro da aynı tepkiyi veriyor.

Mantığı ne olabilir? Antivirüs açık olduğunda istek neden geri çevrilmiyor ve veri indirilebiliyorken , antivirüs kapalı olduğunda makro hata vermeden tamamlanıyor fakat sayfa boş , yani veri çekilmiyor?
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Merhaba;

Bence bu tür testleri POSTMAN kullanarak deneyin. Response detaylarına bakın, 403 mü dönüyor gibi... Hem belki de firewall ile alakalı olabilir.
 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Merhaba;

Bence bu tür testleri POSTMAN kullanarak deneyin. Response detaylarına bakın, 403 mü dönüyor gibi... Hem belki de firewall ile alakalı olabilir.
Selam,
Windows firewall kapatarak deneme yapmıştım sonuç aynıydı. Postman nasıl kullanılır onu bilmiyorum.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Postman kullanımı çok basittir, get, post, vs. metodlarıyla her türlü request işlemlerini yapıp dönen veriler, hatalar hakkında daha iyi gözlem yapabilirsiniz. Bunu browserlar üzerinden de yapabilirsiniz ama eklentilere ihtiyaç duyabilir belki. Postman i kurun siz url endpointi yazın gerekli post datalar, header parametreler varsa doldurun ve send edin. Bunlara gerek yoksa sadece url yi yazın metodu seçin (post, get vs.) ve send edin. Kurun siz, kullanımı çok basittir. Youtube videolardan da yararlanırsınız. Web ten veri almaya çalışan herkesin kullanması gereken bir uygulama bence..
 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Şöyle bir yanıt veriyor sanırım

403 Forbidden
The request was a legal request, but the server is refusing to respond to it. Unlike a 401 Unauthorized response, authenticating will make no difference.
 

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Aynı antivirüsün olmadığı başka bir pc de test edin, hala engelliyor gibi requestinizi. Mümkünse url yi de paylaşabilirsiniz.
 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR

beab05

Özel Üye
Katılım
19 Mart 2007
Mesajlar
1,418
Excel Vers. ve Dili
Office 2013
Ben basitçe request ettiğimde hep 403 dönüyor. Belki üye girişiyle (post data) ya da cookie parametreleriyle aşılabilir bilemiyorum..

Antivirüsün etkisini hiç anlayamadım ;)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bazı uygulamalar antivirüs sebebiyle çalışmazken sizde durum tam tersi olmuş. ;)

Emin değilim ama sadece fikir olarak yanıtlamam gerekirse antivirüs programı bir şekilde linki güvenli hale getirip belki çalışmasına sebep oluyordur.
 
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Ben basitçe request ettiğimde hep 403 dönüyor. Belki üye girişiyle (post data) ya da cookie parametreleriyle aşılabilir bilemiyorum..

Antivirüsün etkisini hiç anlayamadım ;)
İşte o kısmı hiç anlayamadım... Fikrimde yok..Bakalım .. :)
 
Son düzenleme:
Katılım
20 Eylül 2022
Mesajlar
72
Excel Vers. ve Dili
2021 TR
Bazı uygulamalar antivirüs sebebiyle çalışmazken sizde durum tam tersi olmuş. ;)

Emin değilim ama sadece fikir olarak yanıtlamam gerekirse antivirüs programı bir şekilde linki güvenli hale getirip belki çalışmasına sebep oluyordur.
Yani bişey yok aslında Korhan bey :)
Site günlük verileri zaten .cvs formunda sürekli yayınlıyor.
O dosyanın biçimi vs. ile uğraşmak yerine kendi dosyama alıyorum.
Antivirüs ile bu işi nasıl yapıyor anlasam önümüzdeki zamanlar için de bi veri olmuş olacak.

Burada dile getirdim çünkü sizin bu durumla karşılaşma olasılığınız deneyim olarak çok yüksek .

Benim de bildiğim antivirüs bu işleri engeller..Bi tuhaflık mevcut ya...
 
Üst