• DİKKAT

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

Listviewda combobox'ın süzme prb.

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
merhaba
listboxda başlıklar yazılamadığı için listview kullanmaya çalışıyorum
comboboxım var, süzme yapıyorum ama verileri sadece listviewda gösteriyor. süzme işlemi yapmıyor. kodlara bir bakabilirmisiniz

If kodunu nasıl, nereye yazmamız gerekiyor. yardım lütfen

Kod:
Private Sub ComboBox1_Change()
ComboBox2.Clear
ComboBox2.Column = con.Execute("select distinct REFERANS from [sayfa2$] where MAKINA ='" & ComboBox1.Text & "'").getrows
Dim x As Integer
    Dim Liste As ListItem
        ListView1.ListItems.Clear
           For i = 3 To [d65536].End(3).Row
              x = x + 1
                Set Liste = ListView1.ListItems.Add(, , Cells(i, 4).Value)
                    Liste.SubItems(1) = Cells(i, 5).Value
                    Liste.SubItems(2) = Cells(i, 6).Value
                    Liste.SubItems(3) = Cells(i, 7).Value
            Next i
    Set Liste = Nothing
End Sub
Private Sub UserForm_Initialize()
With ListView1
    .View = lvwReport
     .ColumnHeaders.Add , , "Makine ", 125
     .ColumnHeaders.Add , , "Referans  ", 150
     .ColumnHeaders.Add , , "Operasyon ", 100
     .ColumnHeaders.Add , , "Problem ", 100
     .ColumnHeaders.Add , , "ABE ", 43
   .FullRowSelect = True
   .Gridlines = True
    End With
End Sub
 

Ekli dosyalar

Kod:
Private Sub ComboBox1_Change()
ComboBox2.Clear
ComboBox2.Column = con.Execute("select distinct REFERANS from [sayfa2$] where MAKINA ='" & ComboBox1.Text & "'").getrows
With ListView1
    .ListItems.Clear
    For i = 3 To Range("d65536").End(3).Row
        If Cells(i, "d").Value = ComboBox1.Text Then
            .ListItems.Add , , Cells(i, "d").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "e").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "f").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "g").Value
        End If
    Next i
End With
End Sub
Private Sub ComboBox2_Change()
With ListView1
    .ListItems.Clear
    For i = 3 To Range("d65536").End(3).Row
        If Cells(i, "e").Value = ComboBox2.Text Then
            .ListItems.Add , , Cells(i, "d").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "e").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "f").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "g").Value
        End If
    Next i
End With
End Sub

başka arkadaşlar kullanmak isterlerse, yukarıdaki kodları kullandım, çalıştı. Sadece forum üyelerimizden şunu istiyorum. bu mesajın altına dosyanın son halini ekliyorum. Listview açılıp Makine comboboxından veri seçildiğinde I sutununda servis başlığı altındaki "A" harflerinin bulunduğu satırlarıda aynı anda birlikte süzme yapsın. Servis sutunu A ve K harflerinden oluşuyor. başka veri kullanılmayacak
 

Ekli dosyalar

combobox4 ün change olayına yazdım kodu.
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub ComboBox4_Change()
Dim sat As Long
sat = Sheets("Sayfa1").Range("I65536").End(3).Row
With ListView1
    .ListItems.Clear
    For i = 3 To sat
        If Cells(i, "I").Value = ComboBox4.Text Then
            .ListItems.Add , , Cells(i, "d").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "e").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "f").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "g").Value
        End If
    Next i
End With

End Sub
 

Ekli dosyalar

aktif sutun olan C sutunundan herhangi bir hücreye tıkladığımda bu problemi aldım. "could not load an object because it is not available on this machine"

Koddan gördüğüm kadarı combobox4 yaratmışsınız. ben şöyle demiştim, combobox1da veri seçinçe o veriler süzülüyor yaa, ayn anda I sutunundaki "A" larıda süzsün, yani tek combobox iki sütundada süzme işlemi
 
aktif sutun olan C sutunundan herhangi bir hücreye tıkladığımda bu problemi aldım. "could not load an object because it is not available on this machine"

Koddan gördüğüm kadarı combobox4 yaratmışsınız. ben şöyle demiştim, combobox1da veri seçinçe o veriler süzülüyor yaa, ayn anda I sutunundaki "A" larıda süzsün, yani tek combobox iki sütundada süzme işlemi

ben combobox4 yaratmadım.
Siz onu zaten yaratmışsınız.Zaten var combobox4.
Servis comboboxı o.
Combobox1 İsteğiniz üzre hem combobox1i hemde A olanları süzüyor.
Dosyanız ektedir.:cool:
Kod:
Private Sub ComboBox1_Change()
ComboBox2.Clear
ComboBox2.Column = con.Execute("select distinct REFERANS from [sayfa2$] where MAKINA ='" & ComboBox1.Text & "'").getrows
With ListView1
    .ListItems.Clear
    For i = 3 To Range("d65536").End(3).Row
        If Cells(i, "d").Value = ComboBox1.Text [B][COLOR="Red"]And Cells(i, "I").Value = "A" [/COLOR][/B]Then
            .ListItems.Add , , Cells(i, "d").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "e").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "f").Value
            .ListItems(.ListItems.Count).ListSubItems.Add , , Cells(i, "g").Value
        End If
    Next i
End With
End Sub
 

Ekli dosyalar

Çok teşekkür ediyorum yardımlarınız için, tam istediğim gibi
 
Geri
Üst