LİSTBOX İLE FILTRELEME

Katılım
11 Ağustos 2005
Mesajlar
20
LÝSTBOX ÝLE FILTRELEME

LÜTFEN YARDIM EDERMİSİNİZ?
DOSYA YI GÃ?NDERMEYE ÇALIÞACAÐIM.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Liste kutusuna aşağıdaki kodu bağlayarak deneyin.

[vb:1:a9b7301305]Sub filter()
Range("a11:f" & [a65536].End(xlUp).Row).AutoFilter Field:=1, Criteria1:=Cells([a10] + 11, 1)
End Sub
[/vb:1:a9b7301305]
 
Katılım
11 Ağustos 2005
Mesajlar
20
Nasıl teşekkür etsem azdır , umudumu yitirmiştim , kimse bana yardım etmeyeeck diye , Çok teşekkür ederim :)
 
Katılım
11 Ağustos 2005
Mesajlar
20
Dediğinz gibi yaptım oldu evet ancak aynı verilerden birkaç adet olunca listbox ın içinde onlar da tekrarlı görünüyor. Hoş olmuyor tabi bu. Yardım edermisiniz?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda farklı bir sütuna tekli olarak aynı verileri yazın ve liste kutusuna bu sütundaki aralığı tanımlayın. En pratik çözüm bu.
 
Katılım
11 Ağustos 2005
Mesajlar
20
O şekilde çok denedim. Ama O zaman da filtreleme yi ayptıramıyorum. Siteyi incelemekten çıldıracağım.Benim sorunumla ilgili bir örnek de yok ki.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Haklısınız koduda aşağıdaki ile değiştirin.

[vb:1:95e81b0a81]Sub filter()
Range("a11:f" & [a65536].End(xlUp).Row).AutoFilter Field:=1, Criteria1:=Cells([a10], 8)
End Sub
[/vb:1:95e81b0a81]
 
Katılım
11 Ağustos 2005
Mesajlar
20
Çok rahatsız ettim sizi biliyorum ama bir şey sorabilirmiyim?
a11 'in yanında ki f ne işe yarıyor? a65536 ne işe yarıyor?Cells([a10], 8) ne işe yarıyor?

Çünkü başka bir sütunda falan denediğimde olmadı. mantığını anlamay çalışıyorum da. vaktiniz varsa eğer yardım edermisiniz?
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Otomatik filitreleme uyguladığınız alan a11 den f ye kadar a65536 ise aşağıya doğru satır olarark excelde en fazla 65536 satır girebilirsiniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
a11 'in yanında ki f ne işe yarıyor?
Range komutu kod içindeki bir aralığı tanımlamakta kullanılır. Sizin tablonuzda filtrelenecek alan mevcut haliyle Range("A11:F22") dir. Bu yazım tarzında A nın yanındaki 11 rakamı tablonun ilk satırını, F nin yanındaki 22 rakamıda tablonun son dolu satırını ifade eder. Eğer tablonun son satırı sabitse kod içinde yukarıdaki yazım şekli yeterlidir. Fakat değişkense bu durumda son satırı koda tanıtmak gerekir, bunun içinde son satır değerini bulan [a65536].End(xlUp).Row yazım şeklini kullanırız.

a65536 ne işe yarıyor?
Buradaki a değişebilir. Bu yazım şeklinde A sütununun son hücresi bulunmaktadır. Bunu örneğin [b65536].end(xlup).row şeklinde yapsaydınız B sütunundaki en son satırı bulurdunuz.

Cells([a10], 8) ne işe yarıyor?
Genelde bir hücrenin kod içerisinde kullanılan 3 çeşit yazım şekli vardır. Ã?rneğin A1 hücresi için;

-Range("A1")
-[a1]
-cells(1,1) (matris yazım diyebiliriz. Hücre iki boyutu ile tanımlanır 1. satır, 1. sütun gibi)

Her üç yazım şeklide duruma göre kod içinde kullanılır. Eğer kod içindeki veri alınacak veya yazılacak hücrenin yeri değişken ise bu durumda cells(satırno,sütunno) yazım şekli tercih edilebilir. Çünkü satırno ve sütunno yu değişken yaparak hücre referansını kolaylıkla değiştirebilirsiniz. Buraki koddada bu yazım şekli kullanıldı. Çünkü Criteria1:=Cells([a10], 8), bu yazım şeklinde; kriter olarak kullanılacak verinin satır değeri A10 hücresinden ([a10]) hücresinden alınmaktadır. Liste kutusuna tıkladığınızda bu hücredeki değerin değiştiğini göreceksiniz. 8 rakamı ise sabit olup H sütununu ifade etmektedir.

Bir kodun çalışmasını anlamanın en iyi yolu öncelikle o kodu kağıt üzerinde çalıştırmaktır. Kod içindeki tüm değişkenlere alması gereken değerleri kağıt üstünde verin sonrada satır satır inceleyerek her satırdaki sonucu o satırın yanına yazın.

Biraz karışık olduğunun farkındayım ama en temel şeyleri bile anlatırken inannın sayfalarca yazı yazmak mümkün. Umarım bu açıklama yardımcı olmuştur.
 
Katılım
11 Ağustos 2005
Mesajlar
20
çok teşekkür ederim. sayenizde çok güzel oldu. bu kadar yardım göreceğimi düşünmüyordum. Eklentiler yapmayı düşünüyorum daha. Bitince forumla paylaşacağım. Tekrar tşk.ederim.
 
Üst