• Foruma hoş geldin 👋 Ziyaretçi

    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 tamamen ücretsizdir.

Çözüldü Makro Çok Yavaş Çalışıyor (ADO İle Excelden Veri Çekme)

Bu sorun verilen destek sayesinde çözüme ulaştırılmıştır.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ERDAL

Yeni Üye
Kullanıcı Bilgileri
Katılım
3 Nis 2021
Mesajlar
170
Çözümler
1
Aldığı beğeni
31
Excel Versiyonu
Office 2013 TR
Konuyu Başlatan
Arkadaşlar merhaba;

Aşağıdaki makrom çok yavaş veri çekiyor. Veriyi çekmesi en az 2 dakika sürüyor. Hızlandırmak için neler yapılabilir.
Bu konuda yardımlarınızı bekliyorum.

Şimdidin çok teşekkür ederim.

-------------------------------------------------------------------------------------------------------------------

CSS:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Merhaba

ADO konusuna hakim değilim ama kodda şu değişikliği yapıp kontrol eder misiniz?

Döngünün başına ve sonuna ekleme yaptım.



Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Ahmet Bey,
Teşekkür ederim. Biraz Hızlanıdı.
Acaba bu kodun başına ve sonuna eklenebilir mi, birde bu eklenen kodlar hesaplamada sorun çıkarır mı
 
Application.ScreenUpdating = Kapatırsak ekran sabitmiş gibi kalıyor, yapılan işlemleri o an göremiyoruz. False komutu ile durdurup işlemler bittiğinde True komutu ile son halini görebiliyoruz.

Application.Calculation = Eğer bir formül varsa hesaplama işlemini anında yapıyor. xlCalculationManual komutu hesaplama işlemini bizim daha sonra kendi çalıştıracağımızı bildirir. Eğer kapatırsanız, yaptığınız formüllerin sonuçlarının değişmediğini göreceksiniz. Yani 2 ile 2 yi topladığınızda sonuç 4 vermesi gerekir normalde ama biz bu işlemi manuel yapacağımızı bildirdiğimiz için siz sayılara ne yazarsanız yazın sonuç hep 4 olacaktır. mesela 2 ile 3 topladığımızda 5 olması gerekirsen sistemde halen 4 gözükecektir. xlCalculationAutomatic komutu ise Excel'e her veri girişinde formül olsun olmasın hücreleri hesaplamaya çalışır. Varsayılanı da bu şekildedir.

Özetlersek:
Siz Excel'e her seferinde bir şeyler yazdığınızda Excel arkaplanda bir sürü işlem yapıyor. Programımız bize sonuç dönene kadar bu işlemleri geçici olarak kapatıp açıyoruz.
 
Do-Loop aralığını aşağıdaki gibi değiştirip dener misiniz.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Erdal Bey merhaba En üstteki sql kou ile neyi çekmek istediniz. Eğer kurum koduna göre öğretmen sayılarının toplamı ise cinsiyet ="E" or... a ne gerek var. Tam olarak türkçe ifade (kod ile değil) ile ne yapmak istiyorsunuz. İstenilen nedir açıkça belirtebilirbilir misiniz
 
Hakan Bey;
Teşekkür ederim. Kusura bakmayın, şu an bilgisayar başında olmadığım için deniyemiyor.
Hayırlı akşamlar.
 
Hocam Merhaba,

Yapmak istediğim; Branş Ögretmen Sayilari(R+Ö) tablosundaki öğretmen sayılarını ( "Erkek" ve "Kadın" ) bazında 1-Ana Tablo (Öğretmen) adlı çalışma kitabına Kurum Kodu kriterine göre getirmek istiyorum.

Daha önceki kod yavaş çalıştığı için böyle bir yardımda bulunmuştum. Dün gönderdiğiniz kodun eklenmiş hali ile dosyaları da ekledim.

Yardımlarınız için şimdiden teşekkür ederim.
 

Ekli dosyalar

  • 1-ANA TABLO (ÖĞRETMEN).xlsm
    167.4 KB · Gösterim: 6
  • Branş Ögretmen Sayilari(R+Ö).xlsx
    468.5 KB · Gösterim: 6
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Konuyu okuyanlar

Geri
Üst