Hızlı Filtreleme, A sütunundaki şehir listesinden C1 hücresine yazdığınız ifadeyi içeren kayıtları makro ile D sütununa getiren bir örnek dosyadır. Otomatik Filtre veya Gelişmiş Filtre kullanmadan, VBA'daki dizi işlemleriyle kriter bazlı filtrelemenin nasıl yapılabileceğini gösterir.
Dosyanın içeriği
Dosyada tek sayfa vardır ve kullanılan alan A1:D81 aralığıdır.- Sayfa1: A sütununda şehir adları (Adana, Adıyaman, Afyon gibi) yer alır. C1 hücresi arama ifadesinin yazıldığı kriter hücresidir. D sütunu ise filtre sonucunun listelendiği alandır; örneğin C1 hücresine "Ad" yazıldığında Adana gibi "Ad" içeren şehirler D sütununa gelir.
Makrolar
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir. Dosyada Module2 içinde tek bir makro vardır.- Dizilerde_Filtre: Önce D sütunundaki eski sonuçları temizler. Ardından A1:A81 aralığındaki değerleri bir diziye alır ve VBA'nın Filter fonksiyonuyla C1 hücresindeki ifadeyi içeren öğeleri ayıklar. Karşılaştırma büyük/küçük harfe duyarsızdır (vbTextCompare). Çıkan sonuçlar D1 hücresinden başlayarak alt alta yazılır. Eşleşme çıkmadığında hata mesajı gösterilmez, D sütunu boş kalır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- C1 hücresine aramak istediğiniz ifadeyi yazın, örneğin "Ad" veya "Bi".
- Alt+F8 tuşlarıyla makro listesini açın, Dizilerde_Filtre makrosunu seçip Çalıştır'a tıklayın.
- İfadeyi içeren şehirler D sütununda listelenir. Başka bir ifade için C1 hücresini değiştirip makroyu yeniden çalıştırın.
- Kendi listenizde kullanmak için makrodaki A1:A81 aralığını verinizin boyutuna göre güncelleyin.