- Katılım
- 6 Temmuz 2008
- Mesajlar
- 1,875
- Excel Vers. ve Dili
- OFFİCE 2010- TÜRKÇE
Kod:
Private Sub arama_kriteri_Change()
Dim S1 As Worksheet, S2 As Worksheet, Veri As Range, say As Long
Set S2 = Sheets("MüşteriBilgileri")
ReDim Dizi(1 To 8, 1 To 1)
If arama_kriteri = "" Then
UserForm_Initialize
Else
say = 0
Set Data = S2.Range("A1:P" & S2.Cells(Rows.Count, 1).End(3).Row)
For Each Veri In Data
If Veri.Column = 1 Then
If UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I")) Like _
UCase(Replace(Replace(arama_kriteri, "i", "İ"), "ı", "I")) & "*" Then
say = say + 1
ReDim Preserve Dizi(1 To 8, 1 To say)
Dizi(1, say) = Veri
Dizi(2, say) = Veri.Offset(0, 1)
Dizi(3, say) = Veri.Offset(0, 6)
Dizi(4, say) = Veri.Offset(0, 11)
Dizi(5, say) = Veri.Offset(0, 12)
Dizi(6, say) = Veri.Offset(0, 13)
Dizi(7, say) = Veri.Offset(0, 14)
Dizi(8, say) = Veri.Offset(0, 15)
End If
End If
Next
If say > 0 Then ListBox1.Column = Dizi
End If
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 8
ReDim Dizi(1 To 8, 1 To 1)
Satir = Cells(Rows.Count, 1).End(3).Row
For X = 1 To Satir
say = say + 1
ReDim Preserve Dizi(1 To 8, 1 To say)
Dizi(1, 1) = Cells(1, 1)
Dizi(1, say) = Cells(X, 1)
Dizi(2, say) = Cells(X, 2)
Dizi(3, say) = Cells(X, 3)
Dizi(4, say) = Cells(X, 4)
Dizi(5, say) = Cells(X, 5)
Dizi(6, say) = Cells(X, 6)
Dizi(7, say) = Cells(X, 7)
Dizi(8, say) = Cells(X, 8)
Next
If say > 0 Then ListBox1.Column = Dizi
End Sub
Yukarıdaki kodlarla listboxda filreleme yapıyorum.
Fakat en üst satırı sabit bırakmak istiyorum.
columnheads olayını da true yaptımm fakat haliyle boş satır oldu.
Forumda bahsi geçmiş fakat tam netice yok gibi ; ad tanımla ile yol gösterilmiş ama nasıl olacak anlamadım açıkcası.
