Listboxta çoklu seçim ile süz

Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Merhaba Arkadaşlar,
Çok cebelleştim 1-2 örnek buldum ama karışık anlamadım yani...

Soru : sayfa1 a1:g arası veriler mevcut.
Listbox'a aldırıyorum, user formda 7 ad combobox var
her bir combobox 1 sütunu rowsource ediyor.
Örn. ComboBox1.RowSource = "turnike!a2:a65536"
ComboBox2.RowSource = "turnike!b2:b65536" gibi devam ediyor..

sorun şu; comboboxlara veri girince ait olduğu sütundaki seçilen bilgiyi listeliyorlar ama benim istediğim bunların hepsi birbirine bağlı olsun o şekilde süzme yapsın yani....

combobox1=combobox2=combobox3=combobox4=combobox5...gibi
comb3 veri girilmiş olsun comb4 de veri girildiğinde aramayı comb3 deki listelemeye göre yapsın.

yani süzme listboxtaki listeye göre yapılsın..


Yardımlarınızı esirgemeyin arakadaşlar................
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek dosya eklermisiniz.
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Cevap verecek yok mu ?

33 kişi bakmış cevap verecek arkadaşlar yok mu ?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Userform3 te kullandığınız kodları aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub ComboBox1_Change()
    On Error Resume Next
    ListBox1.RowSource = ""
    Satır = 0
    For X = 2 To Cells(65536, "A").End(xlUp).Row
    If ComboBox1 <> "" And ComboBox2 = "" Then
    If LCase(Cells(X, 1)) Like LCase(ComboBox1) & "*" Then
            ListBox1.AddItem
            With ListBox1
            .List(Sat&#305;r, 0) = Cells(X, 1)
            .List(Sat&#305;r, 1) = Cells(X, 2)
            .List(Sat&#305;r, 2) = Cells(X, 3)
            .List(Sat&#305;r, 3) = Cells(X, 4)
            .List(Sat&#305;r, 4) = Format(Cells(X, 5), "hh:mm")
            .List(Sat&#305;r, 5) = Format(Cells(X, 6), "hh:mm")
            .List(Sat&#305;r, 6) = Format(Cells(X, 7), "dd.mm.yyyy")
            Sat&#305;r = Sat&#305;r + 1
        End With
    End If
    ElseIf ComboBox1 <> "" And ComboBox2 <> "" Then
    If LCase(Cells(X, 1)) Like LCase(ComboBox1) & "*" And LCase(Cells(X, 2)) Like LCase(ComboBox2) & "*" Then
            ListBox1.AddItem
            With ListBox1
            .List(Sat&#305;r, 0) = Cells(X, 1)
            .List(Sat&#305;r, 1) = Cells(X, 2)
            .List(Sat&#305;r, 2) = Cells(X, 3)
            .List(Sat&#305;r, 3) = Cells(X, 4)
            .List(Sat&#305;r, 4) = Format(Cells(X, 5), "hh:mm")
            .List(Sat&#305;r, 5) = Format(Cells(X, 6), "hh:mm")
            .List(Sat&#305;r, 6) = Format(Cells(X, 7), "dd.mm.yyyy")
            Sat&#305;r = Sat&#305;r + 1
        End With
    End If
    End If
    Next
End Sub
Private Sub ComboBox2_Change()
    On Error Resume Next
    ListBox1.RowSource = ""
    Sat&#305;r = 0
    For X = 2 To Cells(65536, "A").End(xlUp).Row
    If ComboBox2 <> "" And ComboBox1 = "" Then
    If LCase(Cells(X, 2)) Like LCase(ComboBox2) & "*" Then
            ListBox1.AddItem
            With ListBox1
            .List(Sat&#305;r, 0) = Cells(X, 1)
            .List(Sat&#305;r, 1) = Cells(X, 2)
            .List(Sat&#305;r, 2) = Cells(X, 3)
            .List(Sat&#305;r, 3) = Cells(X, 4)
            .List(Sat&#305;r, 4) = Format(Cells(X, 5), "hh:mm")
            .List(Sat&#305;r, 5) = Format(Cells(X, 6), "hh:mm")
            .List(Sat&#305;r, 6) = Format(Cells(X, 7), "dd.mm.yyyy")
            Sat&#305;r = Sat&#305;r + 1
        End With
    End If
    ElseIf ComboBox2 <> "" And ComboBox1 <> "" Then
    If LCase(Cells(X, 2)) Like LCase(ComboBox2) & "*" And LCase(Cells(X, 1)) Like LCase(ComboBox1) & "*" Then
            ListBox1.AddItem
            With ListBox1
            .List(Sat&#305;r, 0) = Cells(X, 1)
            .List(Sat&#305;r, 1) = Cells(X, 2)
            .List(Sat&#305;r, 2) = Cells(X, 3)
            .List(Sat&#305;r, 3) = Cells(X, 4)
            .List(Sat&#305;r, 4) = Format(Cells(X, 5), "hh:mm")
            .List(Sat&#305;r, 5) = Format(Cells(X, 6), "hh:mm")
            .List(Sat&#305;r, 6) = Format(Cells(X, 7), "dd.mm.yyyy")
            Sat&#305;r = Sat&#305;r + 1
        End With
    End If
    End If
    Next
End Sub
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Hocam denedim olmuyor ziyaret&#231;i ad&#305;n&#305; yazarken buluyor 1. s&#252;tuna d&#246;k&#252;yor (di&#287;er kolonlar bo&#351; ) di&#287;er combobox'a veri giriyorum t&#305;k yok
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Bir Örnek buldum ama uyarlıyamadım kendime karışık geldi.. Bakarmısınız..

Forumdaki arkadaşlardan birinin dosyası paylaşımı için teşekkür ederim.

Arkadaşın dosyasındaki userfom2 deki olay tam benim istediğim

gözümün önündeki hazır kodları ben kendi dosyamada uaylıyamıyorum o ayrı sorun...


Yardımlarınızı bekliyorum.....
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklemiş olduğunuz ilk örnek dosyada Userform3 için gerekli düzenlemeyi yaptım. İncelermisiniz.
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Hocam eline emeğine sağlık

Selamlar,

Eklemiş olduğunuz ilk örnek dosyada Userform3 için gerekli düzenlemeyi yaptım. İncelermisiniz.
Ellerine sağlık bu işte, inşallah ben diğer comboboxlarıda bu örneğe göre çoğaltabilirim


Harikasın.................................. :mutlu: :mutlu:
 
Katılım
28 Ocak 2008
Mesajlar
260
Excel Vers. ve Dili
2003
Olmadı

:confused:
Ellerine sağlık bu işte, inşallah ben diğer comboboxlarıda bu örneğe göre çoğaltabilirim


Harikasın.................................. :mutlu: :mutlu:
Hocam bu sorgulamaya 3. ve 4. comboxları nasıl ekliyeceğiz valla denedim en başata comb1 <> "" and comb2 "" and comb3 diye devam edip altındaki leride bu şekilde değiştirdim ama olmadı (artık kapasite meselesi diye görüyorum) bunuda çözersek program bitecek bende tövbe edecem :)
 
Üst