• DİKKAT

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

Listview koşullu veri listeleme

Katılım
16 Nisan 2010
Mesajlar
170
Excel Vers. ve Dili
Microsoft Office 2010 türkçe
Merhaba;
Arkadaşlar userformda listview e koşullu veri getirmek istiyorum koşullar 2 adet combobox ve 2 adet (tarih) textbox bütün şartları yazınca çalışıyor fakat koşulların boş olma şartını bir türlü yazamadım kolay bir yolu varmı?
Dosya boyutu bir hayli olduğundan koyamadım userform un kodları alttaki gibiri. Şimdiden yardım edenlere teşekkürler.

Private Sub CommandButton4_Click()
With ListView1
UserForm1.ListView1.ListItems.Clear
For s = 2 To Sheets("DATA").Cells(65530, 1).End(xlUp).Row
y = ListView1.ListItems.Count
If Sheets("DATA").Cells(s, 4).Value >= CDate(TextBox15.Text) And Sheets("DATA").Cells(s, 4).Value <= CDate(TextBox16) And Sheets("DATA").Cells(s, 3).Value = ComboBox4.Text And Sheets("DATA").Cells(s, 15).Value = ComboBox5.Text Then
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 2), "@")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 3).Value
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 4), "dd.mm.yyyy")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 5), "dd.mm.yyyy")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 6).Value
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 7), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 8), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 9), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 10), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 11), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 12).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 13).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 14).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 15).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 16).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 17).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 18).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 19).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 20).Value
Next s
End With
End If
s = Empty
End Sub
 
Merhaba;
Arkadaşlar userformda listview e koşullu veri getirmek istiyorum koşullar 2 adet combobox ve 2 adet (tarih) textbox bütün şartları yazınca çalışıyor fakat koşulların boş olma şartını bir türlü yazamadım kolay bir yolu varmı?
Dosya boyutu bir hayli olduğundan koyamadım userform un kodları alttaki gibiri. Şimdiden yardım edenlere teşekkürler.

Örnek olsun diye eklediğim yerleri kırmızı ile belirttim.
Mavi yerlerde sizin kodlarınız onlarıda farklı olarak tanımladım.

Kod:
Private Sub CommandButton4_Click()
With ListView1
UserForm1.ListView1.ListItems.Clear
For s = 2 To Sheets("DATA").Cells(65530, 1).End(xlUp).Row
y = ListView1.ListItems.Count
[COLOR=blue]deg1 = Sheets("DATA").Cells(s, 4).Value[/COLOR]
[COLOR=blue]deg2 = Sheets("DATA").Cells(s, 3).Value[/COLOR]
[COLOR=blue]deg3 = Sheets("DATA").Cells(s, 15).Value[/COLOR]
[COLOR=red]deg4 = Sheets("DATA").Cells(s, 4).Value[/COLOR]
If [COLOR=blue]deg1[/COLOR] >= CDate(TextBox15.Text) And [COLOR=blue]deg1[/COLOR] <= CDate(TextBox16) And [COLOR=blue]deg2[/COLOR] = ComboBox4.Text And [COLOR=blue]deg3[/COLOR] = ComboBox5.Text And [COLOR=red]deg[/COLOR][COLOR=red]4 = ""[/COLOR] Then
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 2), "@")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 3).Value
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 4), "dd.mm.yyyy")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 5), "dd.mm.yyyy")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 6).Value
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 7), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 8), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 9), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 10), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Format(Sheets("DATA").Cells(s, 11), "hh:mm")
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 12).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 13).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 14).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 15).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 16).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 17).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 18).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 19).Value
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 20).Value
[COLOR=red]End If[/COLOR]
Next s
End With
s = Empty
End Sub
 
Hocam Next Without For hatası aldım nasıl düzeltebilirim?
 
Hocam Next Without For hatası aldım nasıl düzeltebilirim?

Ben kodu kontrol etmedim
sizin kodda aşağıdaki bölümü

Kod:
[COLOR=red]End If
[/COLOR]

kırmızı yerlerin arasına taşıyın

Kod:
ListView1.ListItems(y).ListSubItems.Add , , Sheets("DATA").Cells(s, 20).Value
[COLOR=red]End If
[/COLOR]Next s
 
Hocam kodu ekledim bu seferde if döngüsüne type mismatch hatası verdi. Birde hocam deg4 de boş olma şartı verdiniz ben anlayamadım veya tam anlatamadım diye düşünüyorum. Benim istediğim butona basıldığında 2 combobox 2 textbox şartlarının herhangi birinin veya bir kaçının boş olması halinde onu dikkate almadan diğer şartlara göre veriyi getirmesi yani 1 şart verildiyse sadece onu araması veya hiç şart vermediyse hepsini getimesi gibi yardımınız için teşekkür ederim.
 
Konu güncel.
 
Geri
Üst