ÇAPRAZARA Fonksiyonunu VBA Koduna Dönüştürme

  • Konuyu başlatan Konuyu başlatan keremd
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

keremd

Kullanıcı
Katılım
10 Nis 2023
Mesajlar
27
Excel Versiyonu
Excel 2021
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sn. Arkadaşlar günaydın
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
böyle bir fonksiyonum var.
C VE D sütunlarına (C ve D sütunları GELİR diye bir sayfada yer alıyor) veri girdiğimde E sütununa veri girmesini sağlıyorum. Dosyamdaki veriler çoğalınca sistem ağır çalışıyor
bunu nasıl VBA koduna dönüştürebilirim.

Yardımlarınız için şimdiden teşekkürler
 
Çözüm
@keremd
-- VBA ekranını açın,
-- Üst menüden INSERT >> MODULE yi seçin,
-- ThisWorkbook (BuÇalışmaKitabı) bölümüne ilk kodu yapıştırın
-- MODULE1'e ikinci kodu yapıştırın
-- VBA ekranını kapatın.
-- GELİR sayfasında E5 hücresine =DSBUL(C5:D5) formülünü uygulayın.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(11 satır)
ÇAPRAZARA, büyük verilere yönelik olarak tanımlanmış bir fonksiyondur. Formülü, VBA'ya da dönüştürseniz; tüm verilere uygulandığında çok farklılık olmaz.
Bahsettiğiniz yavaşlamaya sebep olacak milyonlarca satırlık veri olması lazım.
Ayrıca, kullandığınız arka plan renkleri bile emin olun Çaprazara'dan daha daha fazla yorar sistemi.
İlle'de VBA isterseniz, ÇAPRAZARA ile değilde farklı şekilde yazmak daha mantıklı olur.
Şu anda müsait değilim, akşam için ancak bakabilirim.
Bu süreçte belki @Ömer BARAN hocam destek olur.

İyi çalışmalar
 
@keremd
-- VBA ekranını açın,
-- Üst menüden INSERT >> MODULE yi seçin,
-- ThisWorkbook (BuÇalışmaKitabı) bölümüne ilk kodu yapıştırın
-- MODULE1'e ikinci kodu yapıştırın
-- VBA ekranını kapatın.
-- GELİR sayfasında E5 hücresine =DSBUL(C5:D5) formülünü uygulayın.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
VBA:
İndirmek için giriş yapmanız gerekmektedir.
(15 satır)
 
Çözüm
@keremd

Aslına bakarsanız olay için özel bir kodlamaya, KTF oluşturmaya vs gerek yok.
Yavaşlamanın temelinde, formüllerde ....AYAR!$P:$P&AYAR!$Q:$Q;AYAR!R:R
gibi tüm sütunu içine alan bir yapı kullanılması.
Böyle bir yapıda yavaşlama kaçınılmaz.

Bunun yerine; aşağıdaki gibi 3 adet AD TANIMLAMASI oluşturup
(kırmızılar AD, karşılarındakiler bu ADlar için kullanılacak formüller),

1711109941416.webp


E5 hücresine
=İNDİS(sakinler;KAÇINCI(C5&"|"&D5;bd;0))
formülünü uygulamanız da yeterli olurdu.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt