• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Comboboxların birbirlerini filitrelemesi

Katılım
30 Mart 2006
Mesajlar
127
Excel Vers. ve Dili
Excel 2003 Tr
İyi bayramlar herkese benim sorunum Ekteki userform da combobox2'nin combobox1'i filitlereyerek listbox da listelemesini nasıl sağlarım,
Forumdaki filitleremelere baktım fakat kendi formuma uyarlayamadım bu konuda yardımlarınızı rica ederim
 

Ekli dosyalar

Dosyanız ektedir.:cool:
Kod:
Sub liste59()
Dim sh As Worksheet, sonsat As Long
ListBox1.RowSource = ""
Set sh = Sheets("SUZ")
sh.Range("A:E").Clear
Range("A1").AutoFilter
If ComboBox1.Value <> "" Then
    Range("A1").AutoFilter field:=4, Criteria1:=ComboBox1.Value
End If
If ComboBox2.Value <> "" Then
    Range("A1").AutoFilter field:=2, Criteria1:=ComboBox2.Value
End If
Range("A1").CurrentRegion.Copy sh.Range("A1")
Range("A1").AutoFilter
sonsat = Sheets("SUZ").Cells(Rows.Count, "A").End(xlUp).Row
If sonsat > 1 Then
    ListBox1.RowSource = "SUZ!A2:E" & sonsat
End If
End Sub
 

Ekli dosyalar

Kusura bakmayın anca bakabildim, teşekkürler combobox1 ve iki birbirlerini süzüyor ben oraya 3. combobox3 ekledim ona geliyor ama listbox a akmıyor. acaba nerde hata yapıyorum teşekkürler
 

Ekli dosyalar

Günaydın, 3. combobox un süzmesi için aşağıdaki kodu değiştirdim faka süzme gerçekleşmiyor acaba nerde hata yapıyorum tşkler

Sub liste59()
Dim sh As Worksheet, sonsat As Long
ListBox1.RowSource = ""
Set sh = Sheets("SUZ")
sh.Range("A:E").Clear
Range("A1").AutoFilter
If ComboBox1.Value <> "" Then
Range("A1").AutoFilter field:=4, Criteria1:=ComboBox1.Value
End If
If ComboBox2.Value <> "" Then
Range("A1").AutoFilter field:=2, Criteria1:=ComboBox2.Value
End If
If ComboBox3.Value <> "" Then
Range("A1").AutoFilter field:=5, Criteria1:=ComboBox3.Value
End If

Range("A1").CurrentRegion.Copy sh.Range("A1")
Range("A1").AutoFilter
sonsat = Sheets("SUZ").Cells(Rows.Count, "A").End(xlUp).Row
If sonsat > 1 Then
ListBox1.RowSource = "SUZ!A2:E" & sonsat
End If
End Sub
 
Merhaba,

Bütün parametleri tek bir sayfada toplayabilirsiniz.

Parametreler veri girişi yapıldıkça oluşacaksa parametre sayfasına da gerek yok.

Sizden gelecek cevaba göre kod paylaşabilirim.
 
en kolay yolla nasıl yapabilirim yardımcı olursanız sevinirim, combobox eklemem ve süzmesi kolay olacak şekilde, teşekkürler
 
en kolay yolla nasıl yapabilirim yardımcı olursanız sevinirim, combobox eklemem ve süzmesi kolay olacak şekilde, teşekkürler

Merhaba,

Parametreler veri girişi oldukça mı olacak? Önceden belli parametreler var mı?
 
Merhaba,

Galiba anlaşamıyoruz. Parametreler olmadan da dosyanız olabilir mi ?

Firma isimleri siz listeyi doldurdukça gelmeyecek mi? Bu durumda parametreye gerek yok diye düşünüyorum. Boş yere kürek çekmemek için bu kadar soru sordum, mazur görün.
 
İlginize teşekkür ederim, Anladığım kadar cevapladım konuyu, hangisi kolayınıza geliyor ise yapabilirsiniz amacım comboboxların birbirlerini süzüp listbox a akması 3-4-5 ekleye bilim comboboxları tşkler
 
Merhaba,

Alternatif bir metodla yaptım. Dener misiniz?
 

Ekli dosyalar

Elinize sağlık güzel olmuş yalnız modüldeki komutları anlamadım

Sub deneme()
Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""


sorgu = "select * from [veriler$] where [Firma İsmi]= 'BP PETROLLERİ AŞ.' and [Fatura Tipi]= "
Set rs = con.Execute(sorgu)

Range("a50").CopyFromRecordset rs


End Sub
 
Elinize sağlık güzel olmuş yalnız modüldeki komutları anlamadım

Sub deneme()
Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""


sorgu = "select * from [veriler$] where [Firma İsmi]= 'BP PETROLLERİ AŞ.' and [Fatura Tipi]= "
Set rs = con.Execute(sorgu)

Range("a50").CopyFromRecordset rs


End Sub

O kısım birşeyi test etmek içindi. Form olaylarına bir etkisi yok.
 
çok teşekkürler, 4. combobox eklemek istersem kodlardaki gibi eklesem çalışır demi ?
 
4. combobox'ı eklediğinizde kodu değiştirmek zor olacaktır.

Tam olarak formunuzu netleştirin ona göre kod yazılabilir.
 
Geri
Üst