Soru Listview değer aralığı filtrelemek

Katılım
21 Temmuz 2015
Mesajlar
2
Excel Vers. ve Dili
2003 türkçe
Merhaba arkadaşlar elimde 33 sutun 1500 satırlık bir tablo var internetten bulduğum bir kodu projeme uyarladım ama tam olarak anlaymadığım için iki noktda projeme adabte etmekte zorlanıyorum

Comboxa tablomdaki sutun başlıklarını alabiliyorum sorun yok aramayı seçtiğim sutun başlığında textboxta filtreleme yaptırıyorum bunda da sorun yok,

1) ama filtreleme işlemini nokta atışı yapıyor bu kodlar mesala textbox1 e 11,20 yazarsam Comboxta seçtiğim sutundaki tüm 11,20 değerlerinin olduğu satırlar geliyor işimi görüyor ama ben istiyorum ki ikinci bir text box ekleyeyeim bir aralık değer içindeki sonuçlar gelsin mesala 11,20 ila 14,40 arası sonuçlar filtrelensin


2) ayrıca 3. sutunda örneğin 12:30 şeklinde saat bilgileri var filtreleme yapınca bu saat bilgileri ondalık sayıya dönüşüyor bunu nasıl düzeltebilirim internette bulduğum bu kodları az buçuk kendime uyarladım ama belirttiğim noktalardaki problemleri bir türlü aşamadım yardımınız için şimdiden teşekküler
combobox ta sutun seçerken kullandığım kodlar ve combobox ta seçtiğim sutunda text boxla filtreleme yaparken kullandığım kodlar



combobox ta filtreleme yaptıracağım sutunu seçerken kullandığım kodlar
Private Sub ComboBox1_Change()

TextBox1 = ""

Dim C()
Dim Lg As Long
Dim lst As ListItem
Dim cln, i As Integer
Dim Data As Variant
Workbooks("*******.xlsm").Sheets("Program").Activate
With Workbooks("*******.xlsm").Sheets("Program")
sonsat = .Range("AG" & Rows.Count).End(xlUp).Row
C = .Range("A1:AG" & sonsat).Value
With UserMC.ListView1
.ListItems.Clear

With .ColumnHeaders
.Clear

.Add Text:="ID", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="Tarih", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="Saat", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*******", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="******", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="******, Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="******", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="***", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="***", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="******", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="***", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
.Add Text:="*****", Width:=45, Alignment:=fmAlignmentLeft
End With
.Gridlines = True
.BorderStyle = ccFixedSingle
.FullRowSelect = True
.View = lvwReport
For Lg = 2 To UBound(C)
Set lst = .ListItems.Add(, , Format(C(Lg, 1), "0.00"))
sonsut = Workbooks("********.xlsm").Sheets("Program").Cells(1 & Columns.Count).End(xlToLeft).Column
With lst
For i = 2 To sonsut
.ListSubItems.Add , , C(Lg, i)
C(Lg, 3) = Format(C(Lg, 3), "ss:dd")
Next i: End With: Next Lg: End With
UserMC.Show
End With
End Sub
---------------------------------------------------------------------------------
combobox ta seçtiğim sutunda text boxta filtreleme yaparken kullandığım kodlar(filtrelemeyi comboxta seçtiğim sutunda yapıyor)

Private Sub TextBox1_Change()
Dim Key As String
Dim Cl As Integer
Dim D As Range
Application.ScreenUpdating = False
Workbooks("********.xlsm").Sheets("Program").Activate
With Workbooks("*******.xlsm").Sheets("Program")

TextBox1.Value = UCase(TextBox1.Value)

With UserMC
Key = .TextBox1
Cl = .ComboBox1.ListIndex
.ListView1.ListItems.Clear
Set D = Workbooks("*********.xlsm").Sheets("Program").[A2]
While (D) <> ""
If Key Like UCase(Left(D.Offset(, Cl), Len(Key))) Then
Set lst = .ListView1.ListItems.Add(, , Format(D.Cells(1, 1), "@"))
sonsut = Workbooks("********.xlsm").Sheets("Program").Cells(1 & Columns.Count).End(xlToLeft).Column
For i = 2 To sonsut
lst.ListSubItems.Add , , D.Cells(, i)
Next i
D.Cells(1, 3) = Format(D.Cells(1, 3), "@")
End If
Set D = D.Offset(1, 0)
Wend
End With

End With
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
21 Temmuz 2015
Mesajlar
2
Excel Vers. ve Dili
2003 türkçe
Textbox valuesiyle filtrelemeyi adoyla yapıp verileri listviewe ondan sonra filtrelenmiş veriyi getirmek üzereyim umarım çözüme ulaşırım böylesi daha pratik duruyor ado gerçekten harika sayfayı açmaya bile gerek kalmıyor
 
Üst