Merhaba arkadaşlar,
UserForm projelerinde en çok kullanılan senaryo şudur: Kullanıcı bir TextBox'a aradığı kelimeyi yazar (Örn: Müşteri Adı) ve alt taraftaki ListBox'ta veriler anlık olarak filtrelenir. Eğer bunu yapmak için sayfada filtreleme yapıp veriyi tekrar ListBox'a yüklemeye çalışıyorsanız, Excel büyük verilerde inanılmaz kasacaktır.
Bunun yerine, doğrudan TextBox'ın Change olayını kullanarak hafızada anlık filtreleme yapan en temiz kod bloğunu buraya bırakıyorum.
Nasıl Uygulanır?
Formunuza bir adet TextBox1 ve bir adet ListBox1 ekleyin. Ardından formun kod kısmına şu kodları yapıştırın:
HTML:
🔥 Kritik Tecrübe Notu:
Eğer veriniz 20-30 bin satırdan fazlaysa bu kodda AddItem kullanmak yerine veriyi önce bir Variant diziye (Array) atıp, döngüyü dizi içinde döndürmek hızı 10 kat artırır.
Büyük verilerle çalışan hocalarımızın bu Change olayında kullandığı daha hızlı bir Dizi (Array) yöntemi var mıdır? Varsa kodlarını konunun altına ekleyebilirlerse süper olur!
UserForm projelerinde en çok kullanılan senaryo şudur: Kullanıcı bir TextBox'a aradığı kelimeyi yazar (Örn: Müşteri Adı) ve alt taraftaki ListBox'ta veriler anlık olarak filtrelenir. Eğer bunu yapmak için sayfada filtreleme yapıp veriyi tekrar ListBox'a yüklemeye çalışıyorsanız, Excel büyük verilerde inanılmaz kasacaktır.
Bunun yerine, doğrudan TextBox'ın Change olayını kullanarak hafızada anlık filtreleme yapan en temiz kod bloğunu buraya bırakıyorum.
Nasıl Uygulanır?
Formunuza bir adet TextBox1 ve bir adet ListBox1 ekleyin. Ardından formun kod kısmına şu kodları yapıştırın:
HTML:
🔥 Kritik Tecrübe Notu:
Eğer veriniz 20-30 bin satırdan fazlaysa bu kodda AddItem kullanmak yerine veriyi önce bir Variant diziye (Array) atıp, döngüyü dizi içinde döndürmek hızı 10 kat artırır.
Büyük verilerle çalışan hocalarımızın bu Change olayında kullandığı daha hızlı bir Dizi (Array) yöntemi var mıdır? Varsa kodlarını konunun altına ekleyebilirlerse süper olur!