Combobox (x) <> Listwiev subitems (x) ise verinin bulunduğu satırı listwievden kaldır

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Combobox (x) <> Listwiev subitems (x) ise verinin bulunduğu satırı listwievden kaldır

Galiba bu modüldeki Listboxa göre düzenlenmiş
Kod:
kontrol
prosodürünü listwiev için düzeneleyebilirsem iş halolacak nasıl olmalı?

listbox için
Kod:
Sub kontrol()
Dim myarr1
myarr1 = MyArr
ListBox1.List = myarr1
If ComboBox1.Text = "" And ComboBox2.Text = "" And ComboBox3.Text = "" And ComboBox4.Text = "" Then Exit Sub
For x = ListBox1.ListCount - 1 To 0 Step -1
    If Not ListBox1.List(x, 0) Like ComboBox1.Text & "*" Or Not ListBox1.List(x, 1) Like ComboBox2.Text & "*" Or Not ListBox1.List(x, 2) Like ComboBox3.Text & "*" Or Not ListBox1.List(x, 3) Like ComboBox4.Text & "*" Then ListBox1.RemoveItem x
Next x
End Sub

listwiev için denemem

Kod:
Sub kontrol()
If ComboBox1.Text = "" And _
   ComboBox2.Text = "" And _
   ComboBox3.Text = "" And _
   ComboBox4.Text = "" Then
   Exit Sub
End If
'MsgBox Lvw_SuzData.ListItems.Count
With Lvw_SuzData
    For x = .ListItems.Count To 0 Step -1
        If Not .ListItems.Item(1) Like ComboBox1.Text & "*" _
        Or Not .ListItems.Item(2) Like ComboBox2.Text & "*" _
        Or Not .ListItems.Item(3) Like ComboBox3.Text & "*" _
        Or Not .ListItems.Item(4) Like ComboBox4.Text & "*" _
        Then .ListItems.Remove (i)
    Next x
End With
Erase myarr1
End Sub
Yanlış yazıdğımın farkındayım mantık şöyle
Combo1 de seçili veri listwiev subitems1 de kalacak, diğerleri silinecek
Combo2 de seçili veri listwiev subitems2 de kalacak, diğerleri silinecek
Combo3 de seçili veri listwiev subitems3 de kalacak, diğerleri silinecek
Combo4 de seçili veri listwiev subitems4 de kalacak, diğerleri silinecek


http://www.excel.web.tr/showpost.php?p=311159&postcount=18
buradaki ekli dosyada bütçe yılı 2001 seçildi ise listwievde sadece o kalacak .
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
.... mantık şöyle
Combo1 de seçili veri listwiev subitems1 de kalacak, diğerleri silinecek
Combo2 de seçili veri listwiev subitems2 de kalacak, diğerleri silinecek
Combo3 de seçili veri listwiev subitems3 de kalacak, diğerleri silinecek
Combo4 de seçili veri listwiev subitems4 de kalacak, diğerleri silinecek
Bunlar aynı satırda mı olacak? Yani comboboxlarda seçili veriler listviewde aynı satırda mı bulunacak, yoksa bu veriler farklı satırlarda olsa bile diğer sütunlardaki veriler silinecek, sadece bu sütunlardaki veriler mi kalacak? Listview filan işin içinde olunca biraz karışık geldi bana, detaylı da inceleyemedim. Bu şekilde izah ederseniz bir yol bulmaya çalışalım.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Mahmut K&#246;k;311222' Alıntı:
Bunlar ayn&#305; sat&#305;rda m&#305; olacak? Yani comboboxlarda se&#231;ili veriler listviewde ayn&#305; sat&#305;rda m&#305; bulunacak, yoksa bu veriler farkl&#305; sat&#305;rlarda olsa bile di&#287;er s&#252;tunlardaki veriler silinecek, sadece bu s&#252;tunlardaki veriler mi kalacak? Listview filan i&#351;in i&#231;inde olunca biraz kar&#305;&#351;&#305;k geldi bana, detayl&#305; da inceleyemedim. Bu &#351;ekilde izah ederseniz bir yol bulmaya &#231;al&#305;&#351;al&#305;m.
Mahmut hocam &#246;ncelikle alakan&#305;za te&#351;ekk&#252;r ederim.
Evet ayn&#305; sat&#305;rda olacak, &#351;&#246;yleki
Listwiev'in x (mesala 1, 5 , 6, 8 ,9, 10) nolu sat&#305;rlar&#305;nda subitems(1) &#246;&#287;eleri = 2007 ve combo1.text = 2007 ise Listwiev'deki (2,3,4,7) nolu sat&#305;rlar alt &#246;&#287;eleri il birlikte kald&#305;r&#305;lacak.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Sub kontrol()
    If ComboBox1.Text = "" And ComboBox2.Text = "" And _
            ComboBox3.Text = "" And ComboBox4.Text = "" Then
       Exit Sub
'    ElseIf ComboBox1.Text = "Tümü" Or ComboBox2.Text = "Tümü" Or _
'            ComboBox3.Text = "Tümü" Or ComboBox4.Text = "Tümü" Then
'        Call Lvw_AdSoyad_Doldur
    End If
    
    With Lvw_SuzData
        For x = .ListItems.Count To 1 Step -1
            If Not .ListItems(x).ListSubItems(1) Like ComboBox1.Text & "*" _
                    Or Not .ListItems(x).ListSubItems(2) Like ComboBox2.Text & "*" _
                    Or Not .ListItems(x).ListSubItems(3) Like ComboBox3.Text & "*" _
                    Or Not .ListItems(x).ListSubItems(4) Like ComboBox4.Text & "*" Then
                .ListItems.Remove (x)
            End If
        Next x
    End With
End Sub
İlk kodlarda .ListItems'in yanına (x) koymamışız :)
Çözüldü gibi ama kaldırmak yerine gizlemek şansımız yok mu? Çünkü Combo(x) de tümü seçili ise gizlenen satırı göstewr demke gerekecek....
 
Üst