• 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.

Soru UserForm ListBox İçinde TextBox ile Yazarken (TextBox_Change) Donmadan Anlık Filtreleme Yapma (Dizi Tabanlı)

fenac

Yeni Üye
Katılım
26 Eyl 2024
Mesajlar
1
Aldığı beğeni
0
Katkı
%0
Excel V
Office 2016 TR
Konu Sahibi
Merhaba arkadaşlar, projemde takıldığım bir makro sorunum var.
Stok takibi için bir UserForm tasarladım. Form açıldığında Q3_UserForm_Arama sekmesindeki veriler ListBox içine yükleniyor. Formun üstüne bir adet TextBox koydum ve kullanıcı buraya harf girdikçe ListBox'ın anlık (real-time) filtrelenmesini istiyorum.
Kodları TextBox1_Change olayına yazdım. Her harf girildiğinde sayfaya gidip Autofilter yapıyor ve sonuçları RowSource ile tekrar ListBox'a basıyor. Satır sayısı 10-15 bin olunca, TextBox'a her yazı yazıldığında Excel 1-2 saniye donuyor, akıcı bir yazma imkanı vermiyor. Bu arama işlemini sayfaya hiç dokunmadan, ham verileri form açılışında bir Variant Diziye (Array) alıp, TextBox'a yazıldığında sadece hafızada filtreleyerek ListBox.List özelliğine aktarmanın yolu nedir? Donmayı tamamen engelleyecek profesyonel bir kod mimarisi paylaşabilir misiniz?
 

Ekli dosyalar

Merhaba arkadaşlar, projemde takıldığım bir makro sorunum var.
Stok takibi için bir UserForm tasarladım. Form açıldığında Q3_UserForm_Arama sekmesindeki veriler ListBox içine yükleniyor. Formun üstüne bir adet TextBox koydum ve kullanıcı buraya harf girdikçe ListBox'ın anlık (real-time) filtrelenmesini istiyorum.
Kodları TextBox1_Change olayına yazdım. Her harf girildiğinde sayfaya gidip Autofilter yapıyor ve sonuçları RowSource ile tekrar ListBox'a basıyor. Satır sayısı 10-15 bin olunca, TextBox'a her yazı yazıldığında Excel 1-2 saniye donuyor, akıcı bir yazma imkanı vermiyor. Bu arama işlemini sayfaya hiç dokunmadan, ham verileri form açılışında bir Variant Diziye (Array) alıp, TextBox'a yazıldığında sadece hafızada filtreleyerek ListBox.List özelliğine aktarmanın yolu nedir? Donmayı tamamen engelleyecek profesyonel bir kod mimarisi paylaşabilir misiniz?
Deneyiniz;
 

Ekli dosyalar

Geri
Üst