• DİKKAT

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

Listviewde sütuna göre süzme

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar,
Sn.Evren Hocanın yazdığı kodlarla Listview Sayfa A dütununda arama yaptığı zaman sorun yok. Anca ben D sütununda arama yapınca verilerde kayma oluyor. Nasıl düzeltilebilir.
Private Sub ComboBox1_Change()
Dim sat As Long, i As Long, sh As Worksheet, k As Range, s As Long, adr As String
Dim deg As String
If ComboBox1.Text = "" Then
deg = "*"
Else
deg = ComboBox1.Value
End If
ListView1.ListItems.Clear
With Sheets("a")
sat = .Cells(65536, "A").End(xlUp).Row
If sat < 2 Then Exit Sub
Set k = .Range("A2:A" & sat).Find(deg, , xlValues, xlWhole)
If Not k Is Nothing Then
adr = k.Address
Do
say = say + 1
ListView1.ListItems.Add , , k.Value
ListView1.ListItems(say).SubItems(1) = k.Offset(0, 1).Value
ListView1.ListItems(say).SubItems(2) = k.Offset(0, 2).Value
ListView1.ListItems(say).SubItems(3) = k.Offset(0, 3).Value
ListView1.ListItems.Item(say).Bold = True
If say Mod 2 = 0 Then
ListView1.ListItems.Item(say).ForeColor = vbRed
Else
ListView1.ListItems.Item(say).ForeColor = vbBlue
End If
Set k = .Range("A2:A" & sat).FindNext(k)
Loop While Not k Is Nothing And k.Address <> adr
End If
End With



End Sub
 
If WorksheetFunction.CountA(Sheets(ActiveSheet.Name).Cells) > 0 Then
satır = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
sutun = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Else
satır = Cells(Rows.Count, "A").End(xlUp).Row
sutun = 1
End If
ListView1.ListItems.Clear
ListView1.ColumnHeaders.Clear
ListView1.Gridlines = True
ListView1.View = lvwReport
ListView1.FullRowSelect = True
ListView1.LabelEdit = lvwManual
ListView1.Font.Bold = True
ListView1.ColumnHeaders.Add , , "sıra", 0
For i = 1 To sutun
With ListView1.ColumnHeaders
.Add , , Cells(1, i), Cells(1, i).Width

End With
Next
For j = 2 To satır Step 1
X = X + 1
ListView1.ListItems.Add , , j
With ListView1.ListItems(X).ListSubItems
For r = 1 To sutun
.Add , , Cells(j, r)
Next
End With
Next
Ben şu kodla veriyi sorunsuz alıyorum. Ancak D sütununa göre comboboxtan süzdüremiyorum.
 
Kod:
Set k = .Range("A2:A" & sat).Find(deg, , xlValues, xlWhole)
k.Offset(0, 1).Value
a2 den offset yaparsanız a1 den sonraki ilk hücre 1 olur.Yani 1
mesela K.offset(0,1) demek B sütunu demek.
offseti - kullanabilirsiniz bu durmda aranan veri sütunun bir öncekine gidersiniz.
Bu duruma göre düzenleyebilirsiniz.Bu offset konusuna.:cool:
 
VBE'niz şifreli.
Prensip olarak şifreli dosyalara bakmıyorum(Sonradan şifre kaldırılsa bile).
İyi çalışmalar.
 
Sayın Hocam, teşekkür ederim. Dosyaya şifreyi ben koymadım. Bu dosyayı forumdan aldım. Üzerinde çalışma yaptım. Tabi prensiplerinizi değiştirmek gibi bir amacım yok. Ancak şifre kaldırılsa bile prensiplerim sabit kalır diyorsunuz. Ne diyebilirim. Herkesin bir tarzı var. Ben yardımıda bilgi paylaşmayıda seviyorum ve tek prensibim kırıcı olmamak. Ha ben uğraştım yaptım, zahmet olmasın. Ne olur iyisi olmazda kötüsü olur. Olur yani.
 

Ekli dosyalar

Sayın Hocam, teşekkür ederim. Dosyaya şifreyi ben koymadım. Bu dosyayı forumdan aldım. Üzerinde çalışma yaptım. Tabi prensiplerinizi değiştirmek gibi bir amacım yok. Ancak şifre kaldırılsa bile prensiplerim sabit kalır diyorsunuz. Ne diyebilirim. Herkesin bir tarzı var. Ben yardımıda bilgi paylaşmayıda seviyorum ve tek prensibim kırıcı olmamak. Ha ben uğraştım yaptım, zahmet olmasın. Ne olur iyisi olmazda kötüsü olur. Olur yani.
Yaptınız olmuş.
Tebrik ederim.Sorun kalmamış.
 
Geri
Üst